Android上的Sipdroid有一个搜索&替换方法,使用正则表达式。 我正在尝试使用它来确保所有拨出的电话都有00XX格式的国家/地区代码
如果没有国家/地区代码,我还希望它将0045放在号码前面。
第一个,我已经解决了,但我无法弄清楚如何做第二件事。
搜索:
\A(((\+)(\d{2})?)|(00(\d{2})?)|)((\d|\s)+)\Z
替换:
00$4$6$7
我正在使用http://www.regexplanet.com/simple/index.html来测试它,测试字符串为:“12345678”,“+ 4512345678”和“004512345678” 他们都应该返回“004512345678”。
答案 0 :(得分:3)
您应该知道国家/地区代码的长度可能是3位甚至4位。
有关详细信息,请参阅list of country calling codes。
你所追求的替代是非常上下文敏感的,所以我猜想用一个正则表达式解决它是不可能的(以一种简单的方式使其实际可用)。再说一遍,我不是一个正则表达的大师。