标准化的国际电话。代码中仅使用regex
-
21-09-2019 - |
题
Sipdroid在安卓有一个搜索和替换方法,使用regex.我试图用它来确保所有发出的呼吁具有国家代码格式00XX
我也希望把0045前的数目,如果没有国家代码。
第一,我已经解决了,但是我不能找出如何做的第二件事.
搜索:
\A(((\+)(\d{2})?)|(00(\d{2})?)|)((\d|\s)+)\Z
替换:
00$4$6$7
我在使用 http://www.regexplanet.com/simple/index.html 测试,测试:"1 2 3 4 5 6 7 8a","+4512345678"和"004512345678" 他们应该返回"004512345678".
解决方案
你应该知道国家代码很可能是3或4位。
看看 名单的国家的电话代码 对于细节。
换你之后是相当的上下文敏感,因此我猜测这是不可能的解决它与一个单一的regex(在一个足够简单的方法,使它实际上可用的).再说,我不是一个regex师。
不隶属于 StackOverflow