Grep 和正则表达式,为什么以下仅返回特定部分?

Grep 和正则表达式,为什么以下仅返回特定部分?

为什么在下面:

echo this is a line. | grep -o -E "[a-z]+\."

结果是line.又不是this is a line.

正则表达式没有字边界或任何其他限制。

答案1

[a-z]a只匹配的字符z。它们与空格字符不匹配。当您还想匹配空格字符时,您必须明确地说:[a-z ]

答案2

-o选项指示 grep 将输出限制为仅与模式匹配的行部分。

重新运行命令-o,结果确实是

this is a line.

相关内容