我正在编写一些正则表达式+查询来匹配美国电话号码。下面的负向先行从正则表达式的角度进行了验证,但由于不支持负向先行,因此在 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/