我有以下文字:var avarb avar var varb var
。我想要做的只是提取“直接”var
次出现。上面的字符串包含3个。
在玩rubular时,我制作了以下Regexp:/\A(var)|\s(var)\s|(var)\z/
。
有没有办法简化它,只在regexp中使用var
子字符串一次?
答案 0 :(得分:5)
使用单词边界尝试这个:
/\bvar\b/
答案 1 :(得分:1)
使用Alexanders版本或
/(^|\s)(var)($|\s)/ # or:
/(?:^|\s)(var)(?:$|\s)/ # (?: ) will prevent capturing
答案 2 :(得分:0)
/\s+(var)\+/
似乎足够了吗?
答案 3 :(得分:0)
如果我理解正确,你可以使用前瞻和后视:
/(?<=^|\s)(var)(?=$|\s)/