我试着从字符串中获取德语格式的电话号码。但我不能让它完全运行。输入文本是一个完整的HTML页面,包含大量内容,而不仅仅是数字。
可能的格式:
(06442) 3933023
(02852) 5996-0
(042) 1818 87 9919
06442 / 3893023
06442 / 38 93 02 3
06442/3839023
042/ 88 17 890 0
+49 221 549144 – 79
+49 221 - 542194 79
+49 (221) - 542944 79
0 52 22 - 9 50 93 10
+49(0)121-79536 - 77
+49(0)2221-39938-113
+49 (0) 1739 906-44
+49 (173) 1799 806-44
0173173990644
0214154914479
02141 54 91 44 79
01517953677
+491517953677
015777953677
02162 - 54 91 44 79
(02162) 54 91 44 79
我试过:
$regex = '~(?:\+?49|0)(?:\s*\d{3}){2}\s*\d{4,10}~';
if(preg_match_all($regex, $input_imprint , $matches)){
print_r($matches);
}
但它不只是匹配一些格式。我不知道该怎么做。
这里有一个正则表达式来匹配您的所有格式。 我建议你替换所有不需要的字符,这样你就得到了你想要的结果。
如果需要最小长度来匹配数字,请使用以下命令:
https://regex101.com/r/CAVex8/143
更新,谢谢你的建议@Willi Mentzel
检查此链接:https://regex101.com/r/CAVex8/1
可能会引入一些误报。
相关问题 更多 >
编程相关推荐