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

Exclude certain numbers from range of numbers using Regular expression

有人可以帮助我使用正则表达式,我们可以从一系列数字中排除介于两者之间的某些数字。

目前,^([1-9][0][0-9])$是配置的正则表达式。现在,如果我想从中排除一些 numbers/one number(501,504),那么正则表达式 look/be.

将如何

更详细的描述in this answer,您可以将以下正则表达式与“Negative Lookahead”命令一起使用?!

^((?!501|504)[0-9]*)$

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

  • /^((?!501|504)[0-9]*)$/mg
    • ^ assert position at start of a line
    • 1st Capturing group ((?!501|504)[0-9]*)
      • (?!501|504) Negative Lookahead - Assert that it is impossible to match the regex below
        • 1st Alternative: 501
          • 501 matches the characters 501 literally
        • 2nd Alternative: 504
          • 504 matches the characters 504 literally
      • [0-9]* match a single character present in the list below
        • Quantifier: * Between zero and unlimited times, as many times as possible, giving back as needed [greedy]
        • 0-9 a single character in the range between 0 and 9
    • $ assert position at end of a line
    • m modifier: multi-line. Causes ^ and $ to match the begin/end of each line (not only begin/end of string)
    • g modifier: global. All matches (don't return on first match)