regex - Oracle Regex 替换负前瞻

标签 regex oracle

我正在编写一些正则表达式+查询来匹配美国电话号码。下面的负向先行从正则表达式的角度进行了验证,但由于不支持负向先行,因此在 Oracle 中不起作用。谁能帮我修改查询以在 Oracle 中工作?

select 'match' from dual WHERE REGEXP_LIKE('16665555555', '^1?(?!911)[2-9][0-9]{9}$');

它不会返回 oracle 中任何数字的匹配项。

谢谢, 安迪

最佳答案

WHERE REGEXP_LIKE(phone, '^1?[2-9]\d{9}$') and not REGEXP_LIKE(phone, '^1?911')

关于regex - Oracle Regex 替换负前瞻,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17922661/

相关文章:

SunOs 交换信息的正则表达式

regex - 我如何编写用于捕获十进制数的正则表达式?

sql - 允许查看 DML 的 Oracle 触发器

sql - Oracle SQL 查询 - 使用 MAX() 函数时加入

oracle - 在 Oracle 连接上设置区域设置

sql - Oracle WITH CLAUSE 不起作用?

php - 正则表达式在字符串中查找特定单词

javascript - 使用正则表达式匹配动态字符串

java - Maven 构建在 xsd 模式验证中失败

windows - Oracle SQL Developer 客户端编码