小编Dee*_*Dee的帖子

Hive 的正则表达式与普通的正则表达式不同吗?

我正在使用 Hive 分析如下所示的网络日志

415503 - - [10/Jun/1998:00:48:00 +0000] "GET /english/images/nav_sitemap_off.gif HTTP/1.1" 200 416
Run Code Online (Sandbox Code Playgroud)

我使用下面的正则表达式将其加载到配置单元表中,效果很好

([^ ]*) ([^ ]*) ([^ ]*) (-|\\[[^\\]]*\\]) ([^ \"]*|\"[^\"]*\") (-|[0-9]*) (-|[0-9]*)
Run Code Online (Sandbox Code Playgroud)

但是,如果我在https://www.regex101.com/中检查此正则表达式,则此正则表达式与我的字符串不匹配。

如果我删除块中的一些反斜杠

(-|\\[[^\\]]*\\]) 
Run Code Online (Sandbox Code Playgroud)

它已被验证。

我认为当我在 Hive 中使用正则表达式时,我们必须使用 \ 来转义字符串?但是在创建数据库之前如何验证这一点?

regex hadoop hive hiveql

3
推荐指数
1
解决办法
3504
查看次数

标签 统计

hadoop ×1

hive ×1

hiveql ×1

regex ×1