我正在尝试搜索关键字后跟a(。查询格式为:
select * from <tablename> where colname rlike 'somename\(';
因为(是一个元字符,我逃脱了它。但是hive在处理与未闭合组相关的上述正则表达式时会抛出错误。我如何匹配&#39;(&#39;在hive正则表达式中?
答案 0 :(得分:1)
您可以加倍\
:
select * from <tablename> where colname RLIKE 'somename\\(';
^^^^^ ^^
或者在角色类中使用它:
select * from <tablename> where colname RLIKE 'somename[(]';
^^^^^ ^^^
否则,\(
被解析为文字(
,并被视为需要结束)
对应的开放组正则表达式运算符。