REGEXP_LIKE匹配Oracle 11g中句子中的两个单词

时间:2015-07-16 23:17:19

标签: regex oracle oracle11g

句子:“过程中遇到STANDARD域名警告”

我想使用REGEXP_LIKE识别所有句子中包含STANDARD和WARNING的句子。此外,搜索必须不区分大小写。

我想用REGEXP_LIKE代替以下代码:

Select * from table where upper(sentence) like 'STANDARD%WARNING%'

2 个答案:

答案 0 :(得分:1)

您可以为不区分大小写指定'i'匹配参数:

Select * from table where REGEXP_LIKE (sentence, '\bstandard(?=\b).*\bwarning\b', 'i')

答案 1 :(得分:0)

正则表达式功能强大,但性能却不佳。 试试这个-

Select * from table 
 where upper(sentence) like '%STANDARD%' or
       upper(sentence) like '%WARNING%'

易于阅读并达到目的。