如何显示 '*' 、 '+' 和 '?' 用法之间的差异 在grep?

pos*_*ing 5 regex grep wildcards

我明白那个

'*' : The preceding item will be matched zero or more times.
'?' : The preceding item is optional and will be matched, at most, once.
'+' : The preceding item will be matched one or more items
Run Code Online (Sandbox Code Playgroud)

谁能给我举个例子,说明在使用 grep 时什么时候会有所不同?我正在使用 egrep,但我试图检查是否可以为这些运算符生成不同的输出。

Zan*_*nna 13

举个例子?试试看?

$ cat greppy
grp
grep
greep
Run Code Online (Sandbox Code Playgroud)

零个或多个 e 在这里

$ egrep 'gre*p' greppy
grp
grep
greep
Run Code Online (Sandbox Code Playgroud)

零或一个 e 在这里

$ egrep 'gre?p' greppy
grp
grep
Run Code Online (Sandbox Code Playgroud)

一个或多个 e 在这里

$ egrep 'gre+p' greppy
grep
greep
Run Code Online (Sandbox Code Playgroud)