我有以下数字代表电话号码:
我目前已经.[0-9][2-9][0-9]{2}[2-9][0-9]{2}[0-9]{4}
适用于这两个数字。
然而,我无法弄清楚第6和第7个数字不被允许为11的标准,以避免可能的911引用,如上所示。从阅读中我可以预期它可能是某种形式的前瞻,但我不完全确定,也不知道如何实现已有的模式。
答案 0 :(得分:1)
我假设您正在寻找一种方法来排除数字中的任何911
。
您可以使用这样的正则表达式执行此操作:(?!.+911.+)\+1[2-9][0-9]{2}[2-9][0-9]{2}[0-9]{4}
答案 1 :(得分:1)
C#广泛支持外观,所以你很高兴。以下是如何以您描述的特定方式使用它们:
.[0-9][2-9][0-9]{2}[2-9](?!11)[0-9]{2}[0-9]{4}
^^^^^^
这称为否定先行断言。
但是,这将使您的正则表达式更加透明,尤其是对其他人而言:
.(?!\d*911)[0-9][2-9][0-9]{2}[2-9][0-9]{2}[0-9]{4}
^^^^^^^^^^