首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Oracle SQL REGEXP_LIKE未返回预期结果

Oracle SQL REGEXP_LIKE未返回预期结果
EN

Stack Overflow用户
提问于 2016-04-29 21:53:02
回答 1查看 139关注 0票数 0

您知道为什么Oracle11gSQL Express Edition (XE)上的这个R2命令不能返回预期结果吗?

代码语言:javascript
运行
复制
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/时,模式匹配...

EN

回答 1

Stack Overflow用户

发布于 2016-04-29 22:03:20

我想知道,regexe101如何匹配,因为您查找的是“...三叉树/4.0...”对于模式,它只需要斜杠后面5到9之间的数字(肯定不包含4,所以regex101不应该匹配!)。

无论如何,在更正这个并删除那些之后?:and ?!修饰符,这些修饰符显然没有被11gR2 (甚至12c)正确处理,它可以工作:

代码语言:javascript
运行
复制
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).*$');
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36940188

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档