下面返回一组结果,包括包含“->emit”的结果

grep -rnw '/var/www/react' -e ">emit"

但以下结果不返回
grep -rnw '/var/www/react' -e "->emit"

为什么?

最佳答案

您需要删除-w选项。它说要把这个表达当作一个整体。aword必须由非单词字符限定,即它只能由[a-zA-Z0-9_]以外的字符包围。
emit将匹配emit_emit->emit,但不匹配remit
我猜你的->emit试图匹配类似于a->emit的内容,但无法匹配,因为a是一个word字符。

关于regex - 连字符是否需要在正则表达式中转义?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41688053/

10-13 05:00