正则表达式消除子匹配

时间:2016-01-09 09:03:47

标签: regex

我需要一种方法来匹配Regex中的整个字符串而不是子字符串。

For instance,
If I look for 2 zeros only string then,

000 // not match
0 // nt match
00 // match
100 // not match
001 // not match
00300 // not match
000000 // not match

简单来说,如果我匹配00,那么匹配的字符串应该只有00作为整个字符串而不是包含 00字符串。这是我试图在正则表达式中实现的。

目前我正在使用:

00{1}?

但即使00包含在另一个字符串中,它也会匹配。

2 个答案:

答案 0 :(得分:2)

您只需要在模式周围使用开始/结束锚点:

^00$

这只会将00作为一行中的有效输入。

但是,如果一行中可以匹配多个,那么您可以使用字边界:\b00\b

答案 1 :(得分:1)

如果用“整个字符串”表示字符串中某处未与任何其他非空白字符连接的“00”,请尝试此操作(正向前瞻和后瞻):

(?<=\s|^)00(?=\s|$)

演示:

https://regex101.com/r/oJ7cM9/6