gpt4 book ai didi

java - 国际电话号码标准化仅使用正则表达式的代码

转载 作者:行者123 更新时间:2023-12-04 06:56:27 24 4
gpt4 key购买 nike

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

最佳答案

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

list of country calling codes详情。

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

关于java - 国际电话号码标准化仅使用正则表达式的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2487749/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com