2

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”。

4

1 回答 1

3

您应该知道,国家代码很可能是 3 位甚至 4 位数字。

有关详细信息,请参阅国家/地区呼叫代码列表

您所追求的替换是非常上下文相关的,所以我猜想用一个正则表达式来解决它是不可能的(以一种足够简单的方式使其真正可用)。再说一次,我不是正则表达式大师。

于 2010-03-21T16:19:05.780 回答