Regex 正则表达式消除子匹配

Regex 正则表达式消除子匹配,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作为整个字符串,并且在任何地方都不

我需要一种方法来精确匹配正则表达式中的整个字符串,而不是子字符串

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包含在另一个字符串中,它也会匹配。

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

^00$
这将仅匹配
00
,作为行中的有效输入

但是,如果一行中有多个匹配的字符,则可以使用单词边界:
\b00\b

如果“整个字符串”是指字符串中某个地方的“00”未与任何其他非空白字符连接,请尝试以下操作(正向向前看和向后看):


(?使用单词边界。
\b00\b
。您不需要正则表达式,请使用比较运算符
=
str='00'
比较它。我对单词边界的看法是正确的。@user3243499使用
\b00\b
,您可能希望根据您使用的语言/工具来转义反斜杠using@user3243499:
\b00\b
确实会给你一个匹配
00.0123
但我希望它不匹配,因为“00”与“00.0123”不同在这种情况下,请使用锚定
^00$
,它将不匹配
00.0123
您在每一行中添加了注释,这将使锚定匹配失败。@user3243499这应该可以。您看到演示了吗?如果它不工作,请在可能的情况下添加完整的代码和实时演示。但我希望它不匹配,因为“00”与“00.0123”不同@n-dru是的,这应该可以。但这取决于OP使用的语言/工具。例如,JS不支持正面的lookbehinds。@n-dru:这只适用于内部行,它有冗余的
\b
,如果
00
前后没有换行符,则它不匹配(如第一行或最后一行)请参阅@user3243499 just remove/gm flags from regex 101,我在上面的示例中没有使用它,在演示中我只想显示不同的行
(?<=\s|^)00(?=\s|$)