gpt4 book ai didi

javascript - 正则表达式匹配被覆盖

转载 作者:行者123 更新时间:2023-11-28 19:36:04 26 4
gpt4 key购买 nike

我正在尝试使用正则表达式清理电话号码。

我不需要数字之间有任何分隔字符,也不需要本地 (0) 部分。分隔符可以是任何非数字字符。

即。数字可能是:

  • +44 (00) 845 740 4404
  • +44-(00)-845-740-4404
  • +44-(00)-845-740=4404(不太可能,但可能是拼写错误)

这与 (0) 部分很好匹配:

http://regex101.com/r/cB6hN4/3

但是如果我添加 |\D+ 来匹配非数字字符,它会覆盖我的第一个匹配:

http://regex101.com/r/cB6hN4/2

如何将两个匹配项保留在一个正则表达式中?

最佳答案

最后不要使用 |\D+ 尝试使用 |[^()\d]+

正则表达式将为\((\d+)\)|[^()\d]+

DEMO

但请注意,括号不能用作分隔符,如演示中所示

关于javascript - 正则表达式匹配被覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25868463/

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