我正在尝试匹配电话号码的扩展名。它似乎适用于很多情况,但由于某种原因,它失败了。我无法弄清楚原因。
模式:
/^(\d)?[^\d]*?(\d{3}).*?(\d{3}).*?(\d{4}).*(\d{0,6}).*/
电话价值:
4012538900 (227)
由于某种原因,它与227
不匹配。如果我将\d{0,6}
更改为\d{3}
,则似乎没问题,与使用范围\d{1,x}
(x> 1)相同。当然,这将打破我的其他价值,因此它不是解决方案。
答案 0 :(得分:1)
您可以使用此正则表达式来解决您的问题:
^(\d)?\D*?(\d{3})\D*(\d{3})\D*(\d{4})\D*(\d{0,6})
避免在正则表达式中使用.*
,因为它也会消耗您的数字,最好使用\D*
来匹配非数字。