【问题标题】:regex: match capture group x or more times正则表达式:匹配捕获组 x 次或更多次
【发布时间】:2017-02-09 19:03:41
【问题描述】:

我正在尝试使我的正则表达式捕获组仅在匹配 3 次或更多次时才匹配。尝试这个正则表达式 ((\d{3}-\d{2}-\d{4}){3,}) 匹配:

111-11-6534
111-11-6534
111-11-6534
123-11-6534
123-11-6534
123-11-6534
111-11-6534

我的正则表达式显然无法正常工作。有没有办法仅在捕获组具有{x} 或更多匹配项时才进行匹配?

【问题讨论】:

  • 使用:((?:\d{3}-\d{2}-\d{4}\s*){3,})
  • regex101.com/r/X0IgxS/1。要点是您需要匹配该模式出现之间的内容。

标签: regex


【解决方案1】:

非常感谢 freenode 上 #regex 的好人。这完成了我想要做的事情:仅在有 10 个或更多项目时匹配,并且如果数字字符串之前或之后有字符也匹配。

(?:.*?\d{3}-?\d{2}-?\d{4}.*(?:\r?\n)?){10,}

【讨论】:

    猜你喜欢
    • 2012-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-23
    • 1970-01-01
    相关资源
    最近更新 更多