【问题标题】:REGEX for NOT matching phone number用于不匹配电话号码的正则表达式
【发布时间】:2014-10-31 20:46:36
【问题描述】:

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

我有这个可以找到一个 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

找出所有不匹配###-###-####的正确正则表达式是什么?

【问题讨论】:

    标签: mysql sql regex phone-number


    【解决方案1】:
    SELECT id, cust_num FROM `leads` WHERE cust_num NOT REGEXP '[0-9]{3}-[0-9]{3}-[0-9]{4}'
    

    应该这样做。

    【讨论】:

      【解决方案2】:

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

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

      Reference

      【讨论】:

        猜你喜欢
        • 2010-12-16
        • 1970-01-01
        • 2022-01-03
        • 1970-01-01
        • 2020-01-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-22
        相关资源
        最近更新 更多