REGEX不匹配电话号码

时间:2014-10-31 20:46:36

标签: mysql sql regex phone-number

我试图匹配任何与###-###-####的电话号码格式不匹配的内容。

我有这个找到一个10位数的字符串

SELECT id, cust_num FROM `leads` WHERE cust_num REGEXP '[0-9]{10}'

这只是找到10位数的任何东西。 到目前为止,在找到有人只是输入一串数字作为数字的条目时,这是很好的,

但是我想找到任何与此格式不匹配的内容。

 555-555-5555

所以我想找到任何与上述格式不匹配的内容

 /* For example, it should find all these*/
 5555555555
 555 555 5555
 (555)5555555
 555-555-555
 (555)-555-5555

找到与###-###-####不匹配的所有内容的正确REGEX是什么?

2 个答案:

答案 0 :(得分:5)

SELECT id, cust_num FROM `leads` WHERE cust_num NOT REGEXP '[0-9]{3}-[0-9]{3}-[0-9]{4}'

应该这样做。

答案 1 :(得分:0)

对于简单的解决方案,只需使用NOT

SELECT id, cust_num FROM `leads` WHERE cust_num NOT REGEXP '[0-9]{3}-[0-9]{3}-[0-9]{4}'

Reference