gpt4 book ai didi

c# - 如何匹配这个字符串使用正则表达式?

转载 作者:太空宇宙 更新时间:2023-11-03 18:55:09 24 4
gpt4 key购买 nike

我有两个字符串:

(123)4567890
1234567890

() 对必须同时出现,或者都省略。目前我使用这个正则表达式:

(?:(?:\(\d{3}\))|(?:\d{3}))\d{7}

使用 OR 来匹配两种情况之一:

\(\d{3}\)
\d{3}

出于好奇,我如何检查最后一场比赛(当前比赛中是否有()(检查))?你能建议我另一种方法来达到同样的结果吗?

最佳答案

您可以使用 conditional construct :捕获一个可选的开头 ( 然后匹配 3 个数字,然后检查 Group 1 是否为空,如果不是,则匹配结束 ):

(\()?\d{3}(?(1)\))\d{7}

参见 regex demo 。根据要求添加 anchor /边界。

详情

  • (\()? - 匹配 ( char
  • 的可选捕获组 1
  • \d{3} - 3 位数字
  • (?(1)\)) - 如果第 1 组匹配,则匹配 )
  • \d{7} - 7 位数字。

关于c# - 如何匹配这个字符串使用正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47213381/

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