如何在正则表达式中找到用于搜索电话号码的短划线?

时间:2016-05-02 07:35:53

标签: regex

我有这个正则表达式帮助我在文本中找到一个电话号码:

\+?(972|0)(\-)?0?(([23489]{1}\d{7})|[5]{1}\d{8})

我想找一个带破折号的电话号码,这个正则表达式不能用破折号。

我试图修改正则表达式以找到带有dases的电话号码,但没有任何成功。

如何将破折号添加到我的正则表达式?

1 个答案:

答案 0 :(得分:0)

(1[\s-]?)?\(?(\d{3}\)?[-\s]?\d{3}[-\s]?\d{4}

这个正则表达式将匹配所有这些(以及任何短划线和空格的变化,但始终使用3-3-4(美国)格式):

1 (123) 456 7890
1234567890
123 456 7890
123-456-7890
1-123-456-7890
1-(213)-456-7890

下面的正则表达式更加面向国际:

((\+|00)\d+)?[\s-]?(\(\d\))?[\d-\s]+

它将匹配这些:

+31612345678
+31 (0)6 1234 5678
0031 (0)30 12345678
+313012345678
030-1234567
0612345678
070 1234567

但是:

123456789123456789123456789

我希望这可以帮助您进一步解决您的问题