Regex Oracle正则表达式匹配
在where子句中具有类似REGEXP_的Oracle select语句随机失败,错误为ORA-12726:正则表达式中的括号不匹配。当我重新运行查询时,它工作得非常好。我已经验证了DB中的所有正则表达式,并且所有正则表达式在语法上都是正确的。想一想为什么它会失败,以及为什么在我重新运行查询时它会返回结果Regex Oracle正则表达式匹配,regex,plsql,Regex,Plsql,在where子句中具有类似REGEXP_的Oracle select语句随机失败,错误为ORA-12726:正则表达式中的括号不匹配。当我重新运行查询时,它工作得非常好。我已经验证了DB中的所有正则表达式,并且所有正则表达式在语法上都是正确的。想一想为什么它会失败,以及为什么在我重新运行查询时它会返回结果 SELECT r.* FROM routeuser.ahc_b2b_route r WHERE r.producer ='Facets' AND
SELECT
r.*
FROM
routeuser.ahc_b2b_route r
WHERE
r.producer ='Facets'
AND REGEXP_LIKE ('PCP2AAME.2A.zip.end', r.filemask, 'i' )
ORDER BY
length(r.filemask) DESC, r.filemask DESC
结果:
Resulting RegEx ^PCP(37|41|47|57|2A)(AME|KEY)[.](37|41|47|57|2A)[.]zip.end$
非常感谢您的帮助 我相信你是在用
[.]
得到一个文字点?尝试使用\.
进行转义,看看问题是否消失
^PCP(37|41|47|57|2A)(AME|KEY)\.(37|41|47|57|2A)\.zip\.end$
谢谢你会努力的。测试了你建议的新版本,效果很好。