使用正则表达式从数字范围中排除某些数字

Har*_*kar 5 regex webmethods

有人可以帮助我使用正则表达式,我们可以从一系列数字中排除某些数字.

目前,^([1-9][0][0-9])$是配置的正则表达式.现在,如果我想从中排除一些数字/一个数字(501,504),那么正则表达式将如何看待.

Hug*_*ira 12

在本答案中更详细地描述,您可以使用以下正则表达式与"否定先行"命令?!:

^((?!501|504)[0-9]*)$
Run Code Online (Sandbox Code Playgroud)

您可以在此处查看正在执行和解释的正则表达式:https://regex101.com/r/mL0eG4/1

  • / ^((?!501 | 504)[ 0-9 ]*)$/mg
    • ^断言一行开头的位置
    • 第一捕获组((?!501 | 504)[0-9]*)
      • (?!501 | 504)否定前瞻 - 断言不可能匹配下面的正则表达式
        • 第一选择:501
          • 501字面上匹配字符501
        • 第二种选择:504
          • 504字面上匹配字符504
      • [0-9]*匹配下面列表中的单个字符
        • 量词:*在零和无限次之间,尽可能多次,根据需要回馈[贪心]
        • 0-9单个字符,范围在0到9之间
    • $断言一行的结尾位置
    • m修饰符:m ulti-line.导致^和$匹配每行的开头/结尾(不仅是字符串的开头/结尾)
    • g修饰语:g lobal.所有比赛(首场比赛不返回)