您知道为什么Oracle11gSQL Express Edition (XE)上的这个R2命令不能返回预期结果吗?
SELECT 'X'
FROM dual
WHERE REGEXP_LIKE('Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)', '^.*MSIE [5-8](?:\.[0-9]+)?(?!.*Trident\/(?:[5-9]|1[0-9])\.0).*$');当我使用site https://regex101.com/时,模式匹配...
发布于 2016-04-29 22:03:20
我想知道,regexe101如何匹配,因为您查找的是“...三叉树/4.0...”对于模式,它只需要斜杠后面5到9之间的数字(肯定不包含4,所以regex101不应该匹配!)。
无论如何,在更正这个并删除那些之后?:and ?!修饰符,这些修饰符显然没有被11gR2 (甚至12c)正确处理,它可以工作:
SELECT 'X'
FROM dual
WHERE REGEXP_LIKE(
'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)'
, '^.*MSIE [5-8](?:\.[0-9]+)?(.*Trident\/([4-9]|1[0-9])\.0).*$');https://stackoverflow.com/questions/36940188
复制相似问题