【问题标题】:Is there a way to get the regex that I am using to match 4 numbers only?有没有办法让我用来匹配 4 个数字的正则表达式?
【发布时间】:2023-03-17 05:25:01
【问题描述】:

我遇到的问题是,我使用的正则表达式比 8801 的不同变体更匹配。我需要正则表达式只匹配 8801,而不是 01 和 108。下面的链接显示了我正在使用的正则表达式是匹配超过所需的 8801。任何帮助将不胜感激。

"\b[8]*(?:1[8]*[8]?0|0[8]*[8]?1)[8]*\b"

my regex demo

【问题讨论】:

    标签: regex regex-group


    【解决方案1】:

    你可以使用

    \b(?=\d{4}\b)8*(?:18*0|08*1)8*\b
    

    请参阅regex demo。请注意[8]*[8]? = 8*(零个或多个8 字符)和[8] = 8(在这种情况下方括号是多余的)。

    (?=\d{4}\b) 正向前瞻需要四位数字,后面紧跟当前位置右侧的字边界位置。

    【讨论】:

      猜你喜欢
      • 2019-02-11
      • 1970-01-01
      • 2011-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-13
      • 1970-01-01
      相关资源
      最近更新 更多