Hive:正则表达式反斜杠

时间:2014-11-26 09:34:57

标签: regex hadoop hive hiveql

我需要查询中间有反斜杠字符的所有行。这是我写的查询:

从表中选择*,其中A =' 2014-10-30'和B rlike' .asterisk \ .asterisk'

(必须手动输入星号。查询本身就有符号)

无论B列是否有反斜杠,它都会返回整个表格。

' \\ &#39。即使存在B具有反斜杠字符的行,也不返回任何行。

样本B - 您好可以查看您的详细信息/

3 个答案:

答案 0 :(得分:1)

select regexp_replace(datecolumn,'-','\\') as dt from tablename;

答案 1 :(得分:0)

这是编写正则表达式的基本指南:http://tldp.org/LDP/Bash-Beginners-Guide/html/chap_04.html

如果你需要检查字符串中是否有反斜杠,请尝试" instr"功能,它更简单的tran regexp:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF#LanguageManualUDF-StringFunctions

从正则表达式开始,应该只是这样:' \\'

在线检查正则表达式有效性的另一个好资源:http://regex101.com/

答案 2 :(得分:0)

这个问题在本博文中得到了很好的解释。

https://www.themarketingtechnologist.co/slashception-with-regexp_extract-in-hive/

简而言之,答案是:

使用4个反斜杠。