我设计了正则表达式(参见fiddle) /('+|0|'()['d()'s-]{6,20}'d/g
来匹配以下格式的电话号码。
('+|0|'()
首先匹配+或0或(
['d()'s-]
用于匹配
'd
匹配最后一位数字
+43 543 765 5434
0043 543 765 5434
0543 765 5434
+43 (0)543 765 5434
05437655434
0543-765-5434
不幸的是,这个正则表达式也匹配在之间有换行符的数字,比如, + 43
654 416 4444"或者
, stowasser09
65
808090 ,
因此,我想到用
[^'S'r'n]
替换正则表达式中的's
以匹配空白,但不是换行,但不能让它工作?也可以将
{6,20}
应用于整个正则表达式,而不是请只提供['d()'s-]
部分?我想象类似/(('+|0|'()['d()'s-]'d){6,20}/g
的东西,即整个匹配的电话号码不应短于6且不超过20个字符,包括+ | 0 |(在第一位和最后一位)。
谢谢!
's
表示:匹配任何空白字符。只需将其替换为简单的空白' '
/('+|0|'()['d() -]{6,20}'d/g
参见演示