我有以下正则表达式
^[2-9][0-9]{3}-W([0-5][0-3]|(?!00))https://regex101.com/r/OOCxzT/1
例如,我需要从比赛中排除一个连续两个00的字符串。
2022-W00
我添加了(?!00),但似乎没有正常工作。
知道怎么修吗?
发布于 2022-03-08 09:41:57
在替换([0-5][0-3]|(?!00))中使用负前瞻,如果第一个选项不匹配,则此部分(?!00)将为真(给出部分匹配),并且从当前位置直接到右边的不是00。
前瞻应该就在第二次数字匹配之前。
^[2-9][0-9]{3}-W(?!00)([0-5][0-3])如果只想匹配2位数字,还可以追加锚点$。
^[2-9][0-9]{3}-W(?!00)([0-5][0-3])$发布于 2022-03-08 09:45:44
这就是你需要的吗?还是在“W”之后更多的数字?
^[2-9][0-9]{3}-W([0-5][1-3]|[1-5][0-3])https://stackoverflow.com/questions/71392835
复制相似问题