- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我尝试从德语格式的字符串中获取电话号码。但我没有让它完全运行。输入文本是一个包含大量内容的完整 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);
}
但它不仅仅匹配几种格式。我不知道该怎么做。
最佳答案
这是一个匹配所有格式的正则表达式。我会建议然后替换所有不需要的字符,你会得到你想要的结果。
(\(?([\d \-\)\–\+\/\(]+)\)?([ .\-–\/]?)([\d]+))
如果您需要最小长度来匹配您的数字,请使用:
(\(?([\d \-\)\–\+\/\(]+){6,}\)?([ .\-–\/]?)([\d]+))
https://regex101.com/r/CAVex8/143
已更新,感谢@Willi Mentzel 的建议
关于java - 德国电话号码格式的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41538589/
场景: 我正在开发一个iOS应用,应该将其上传到世界各地的所有应用商店中。 该应用程序应支持2种语言,德语和英语。德国使用德语,世界其他地区使用英语。 我做了什么: 当我开始开发该应用程序时,我在In
我想在 iPhone 应用程序中使用 TradeDoubler(欧洲)和 LinkShare(美国、加拿大)并链接到应用程序商店。我已经知道我总是会被带到正确的商店。但是每个国家/项目的附属链接都是不
我的 Angular 应用程序需要以不同格式显示货币,例如:$、£、2.105,10€ - + 之后的欧元符号不同的分隔符 - 这可以通过包含 i18n angular-locale_de-de.js
背景 我正在使用 NLog 2.0.1 版,我相信这是最新版本,来自 .Net 4.0 控制台应用程序(使用 Visual Studio 2012 编写)。 应用程序很简单: namespace NL
我在我的 asp.net 应用程序中使用德语 UI Culture。我正在根据下拉列表中选择的语言更改我的应用程序的 UI 区域性,在下拉列表中选择的索引更改我正在使用此代码 Thread.Curre
我是一名优秀的程序员,十分优秀!