我有以下代表电话号码的数字:
+16085551212
+16089111212
我目前有.[0-9][2-9][0-9]{2}[2-9][0-9]{2}[0-9]{4}
适用于两个数字。
但是,我无法弄清楚不允许将第六和第七数字设为11的标准,以避免上面显示的可能的911参考。通过阅读,我希望它可能是某种形式的先行,但是我不确定,也不知道如何实现到已经存在的模式中。
最佳答案
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}
^^^^^^^^^^
关于c# - 正则表达式或不匹配,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19724205/