括号

时间:2016-07-18 09:58:04

标签: regex hive

我正在尝试搜索关键字后跟a(。查询格式为:

select * from <tablename> where colname rlike 'somename\(';

因为(是一个元字符,我逃脱了它。但是hive在处理与未闭合组相关的上述正则表达式时会抛出错误。我如何匹配&#39;(&#39;在hive正则表达式中?

1 个答案:

答案 0 :(得分:1)

您可以加倍\

select * from <tablename> where colname RLIKE 'somename\\(';
                                        ^^^^^          ^^

或者在角色类中使用它:

select * from <tablename> where colname RLIKE 'somename[(]';
                                        ^^^^^          ^^^

否则,\(被解析为文字(,并被视为需要结束)对应的开放组正则表达式运算符。