如果您对学习正则表达式感兴趣,可以尝试自己编写。它并没有想象中那么难。诸如RegexPal之类的网站允许您输入一些测试数据,然后针对该数据编写和测试正则表达式。使用RegexPal,尝试添加您希望找到的各种格式的电话号码(带有括号,区号等),获取Regex备忘单,然后查看可获得的距离。如果没有别的,它将有助于阅读别人的表情。
编辑:这是Regex的修改版本,它还应该匹配缺少连字符,空格或点的7位和10位电话号码。我在字符类([] s)之后添加了问号,这使得其中的任何内容都是可选的。我在RegexPal中对其进行了测试,但是由于我仍在学习Regex,因此我不确定它是否完美。试试看。
(\d{3}[-\.\s]??\d{3}[-\.\s]??\d{4}|\(\d{3}\)\s*\d{3}[-\.\s]??\d{4}|\d{3}[-\.\s]??\d{4})
它与RegexPal中的以下值匹配:
000-000-0000
000 000 0000
000.000.0000
(000)000-0000
(000)000 0000
(000)000.0000
(000) 000-0000
(000) 000 0000
(000) 000.0000
000-0000
000 0000
000.0000
0000000
0000000000
(000)0000000