Oracle 正则 整词匹配  不行

在oracle中用整词匹配来包裹想要匹配的词并不可行,

正确的做法应该是这样:

SELECT 1 FROM DUAL
WHERE REGEXP_LIKE('1 2 3 14','(^|s|W)3($|s|W)');

并且第一个参数的分割应该用空格,如此以来,我们可以做到整词匹配,这也意味着你匹配“4”是匹配不到的,因为前边的是“14”。

具体原因可以看看stackoverflow上的问答,“”这个表达式 oracle现在并不支持。

 
参考:
http://stackoverflow.com/questions/7567700/oracle-regexp-like-and-word-boundaries
http://renenyffenegger.blogspot.ch/2014/12/the-missing-b-regular-expression.html
原文地址:https://www.cnblogs.com/flying607/p/6797256.html