gpt4 book ai didi

java - 正则表达式替换问题理解

转载 作者:太空宇宙 更新时间:2023-11-04 12:27:13 25 4
gpt4 key购买 nike

我正在尝试为无效电话号码编写替换逻辑,我通过 map 提供了该逻辑我读了一些正则表达式线程,但我不知道这是否真的可能。

示例:

输入电话号码:+410712345678

我正在尝试使用的正则表达式:

 "^\\+(?:[0-9] ?){6,14}[0-9]$" 

正则表达式和过滤后的数字应为:+41712345678。所以实际上删除了 0 的第一个实例。

第二个例子:

输入电话号码:+41(071)2345678

我正在尝试使用的正则表达式:

"^\\+(?:[0-9] ?)\\({0,3}\\){3,11}[0-9]$"

正则表达式和过滤后的数字应为:+41712345678。因此,实际上删除了 0 的第一个实例以及大括号。

我正在尝试使用某种模式来自动从这些电话号码中删除那些无效的部分。这些号码需要采用这种方式格式化才能与我的 VOIP 应用程序一起使用。

有什么方法可以使用正则表达式创建类似的过滤模式吗?

最佳答案

看来您应该只对瑞士电话号码应用该规则,即 +41 号码,因为简单地从任何国际号码中删除第一个 0 都是错误的。

所以,ph = ph.replaceFirst("^(\\+41)\\(?0?([0-9]{2})\\)?", "$1$2")

参见regex101了解它是如何工作的。

关于java - 正则表达式替换问题理解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38247781/

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