2013-07-29 87 views
2

我在写一些正则表达式查询来匹配美国电话号码。具有负向预测的下面一个会从正则表达式角度进行验证,但由于不支持负向预测,因此在Oracle中不起作用。任何人都可以请帮我修改查询在Oracle中工作吗?Oracle正则表达式替换负向预测

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

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

感谢, 安迪

回答

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

谢谢叶戈尔.. – user2630054