【问题标题】:Regex - match number within a text that does not start with a certain string [duplicate]正则表达式 - 匹配不以某个字符串开头的文本中的数字[重复]
【发布时间】:2022-07-06 22:01:49
【问题描述】:

我现在已经在 SO 上搜索了多个答案,但他们中的大多数人认为行的开头是整个字符串被查看,我认为这不适合我的情况(至少我尝试过的所有答案没用)。

所以,我想匹配一个 7 位长的文本中的所有代码,以 1 或 2 开头,并且不以“TC-”及其小写变体为前缀。

想出了/(!?TC-){0}(1|2)\d{6}/g 表达式,但是不匹配以“TC-”开头的代码不起作用,我不知道如何防止选择这些。有没有办法做到这一点?

我在 Regexr 上创建了一个示例模式:regexr.com/6p70c。

【问题讨论】:

  • 可能是(?<!TC-)[12]\d{6}\b

标签: regex


【解决方案1】:

您可以使用否定后向 (?<! 向左断言 not TC- 并省略 {0} 量词,因为这使其成为可选:

(?<!\bTC-)[12]\d{6}\b

Regex demo

【讨论】:

    猜你喜欢
    • 2015-12-11
    • 2014-08-15
    • 2011-01-08
    • 2019-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-14
    • 1970-01-01
    相关资源
    最近更新 更多