我需要查询中间有反斜杠字符的所有行。这是我写的查询:
select * from table where A= '2014-10-30‘和B rlike '.asterisk.asterisk’
(我必须手动键入星号。查询具有符号本身)
无论B列是否有反斜杠,它都会返回整个表。
“.\”即使存在B包含反斜杠字符的行,也不返回任何行。
示例B - Hi可以为您查看详细信息/
发布于 2018-08-18 19:52:15
select regexp_replace(datecolumn,'-','\\') as dt from tablename;
发布于 2014-11-26 23:24:08
下面是编写正则表达式的基本指南: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
从regexp开始,它应该是这样的:'\‘
在线检查正则表达式有效性的另一个很好的资源:http://regex101.com/
发布于 2019-05-30 08:54:32
这个问题在这篇博文中得到了很好的解释。
https://www.themarketingtechnologist.co/slashception-with-regexp_extract-in-hive/。
简而言之,答案是:
使用4个反斜杠。
https://stackoverflow.com/questions/27145611
复制相似问题