0

我有以下文字:var avarb avar var varb var。我想要做的是只提取“直接”var事件。上面的字符串包含其中的 3 个。

在玩rubular时,我编写了以下正则表达式:/\A(var)|\s(var)\s|(var)\z/. 有没有办法简化它,以便var在正则表达式中只使用一次子字符串?

4

4 回答 4

5

使用单词边界试试这个:

 /\bvar\b/
于 2011-04-16T14:10:11.017 回答
1

使用 Alexanders 版本或

/(^|\s)(var)($|\s)/       # or:
/(?:^|\s)(var)(?:$|\s)/   # (?: ) will prevent capturing 
于 2011-04-16T14:11:26.557 回答
0

/\s+(var)\+/似乎足够了?

于 2011-04-16T14:10:36.167 回答
0

如果我理解正确,您可以使用前瞻和后瞻:

/(?<=^|\s)(var)(?=$|\s)/
于 2011-04-16T14:10:47.597 回答