请问有人能帮我写一个正则表达式,从一系列数字中排除其中的某些数字?
目前已经配置了正则表达式^([1-9][0][0-9])$
。现在,如果我想要从中排除某些/一个数字(如501
、504
),那么该怎样修改正则表达式呢?
请问有人能帮我写一个正则表达式,从一系列数字中排除其中的某些数字?
目前已经配置了正则表达式^([1-9][0][0-9])$
。现在,如果我想要从中排除某些/一个数字(如501
、504
),那么该怎样修改正则表达式呢?
更详细的描述请参考此回答,您可以使用以下带有“负向先行断言”命令?!
的正则表达式:
^((?!501|504)[0-9]*)$
您可以在这里查看正在执行和解释的正则表达式: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 多行。导致 ^ 和 $ 匹配每行的开头/结尾(而不仅仅是字符串的开头/结尾)
- g 修饰符:g 全局。所有匹配项(不仅仅是第一个匹配)