使用 ripgrep 搜索单词的开头/结尾

pse*_*ert 9 ripgrep

grep我可以搜索单词的开头和结尾

grep -e '\<leg\>' <where to search>
Run Code Online (Sandbox Code Playgroud)

这会找到I have a leg.但不会play allegro here

Ripgrep (0.10.0) 似乎不支持这种写正则表达式的方式。我的问题是:

如何“grep”出现在单词的开头/结尾ripgrep

Bur*_*hi5 17

ripgrep 不支持\<\>单词边界,它们分别只匹配单词的开头和结尾。然而\b,ripgrep 确实支持,它匹配任何地方的单词边界。在这种情况下,对于您的特定示例来说已经足够了:

$ echo 'play allegro here' | rg '\bleg\b'
$ echo 'I have a leg.' | rg '\bleg\b'
I have a leg.    
Run Code Online (Sandbox Code Playgroud)

ripgrep 还支持 grep 的-w标志,在这种情况下它有效地做同样的事情:

$ echo 'play allegro here' | rg -w leg
$ echo 'I have a leg.' | rg -w leg
I have a leg.
Run Code Online (Sandbox Code Playgroud)