有些人可以帮助我使用正则表达式,我们可以从一系列数字中排除某些数字。
目前,^([1-9][0][0-9])$
是已配置的正则表达式。现在,如果我想从中排除一些数字/一个数字(501
,504
),那么正则表达式将如何显示。
答案 0 :(得分:11)
更详细地描述in this answer,您可以将以下正则表达式与“否定前瞻”命令?!
一起使用:
^((?!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 ulti-line。导致^和$匹配每行的开头/结尾(不仅是字符串的开头/结尾)
- g修饰符: g lobal。所有比赛(首场比赛都没有回复)