我是初级正则表达式的新手,并处理的内容将返回所有英国电话号码,区号仅为01
,02
,03
或07
。它必须不会查找08
或09
。它还必须考虑到不同的分组样式。但这里是踢球者...它必须是80个字符或更少。
这是我最好的镜头:
(01|02|03|07|44\D*1|44\D*2|44\D*3|44\D*7|)(\d\D*){9}
问题在于它返回任何9位数或更少的数字,我无法弄清楚原因。
任何帮助都会很棒!
答案 0 :(得分:1)
(01|02|03|07|44\D*1|44\D*2|44\D*3|44\D*7)
匹配0
或44\D*
后跟1
,2
,3
或7
,这简化为:
(?:44\D*|0)[1237]
将其与剩下的一起给出:
(?:44\D*|0)[1237](\D*\d\D*){9}