GREP - 正则表达式+(加号)与*(星级)表现

3 regex performance grep

简单的问题,说我有两个正则表达式

rtmp.*?\b/
rtmp.+?\b/
Run Code Online (Sandbox Code Playgroud)

在我所做的测试中,如果有任何差异似乎可以忽略不计.

我理解这两个表达式之间的技术差异.就我而言,要么会这样做.正如问题所述,我只是询问性能差异,如果有的话.我注意到的一个区别是+需要egrep

 grep 'rtmp.*?\b/'
egrep 'rtmp.+?\b/'
Run Code Online (Sandbox Code Playgroud)

mu *_*ort 9

这两个表达式:

rtmp.*?\b/
rtmp.+?\b/
Run Code Online (Sandbox Code Playgroud)

匹配不同的东西.*表示"前一个表达式的零个或多个"(即任何数字),+表示"前一个表达式中的一个或多个".因此.*?,在非贪婪模式下.+?匹配任意数量的任何字符,并匹配非贪婪模式中任何正数的任何字符.

速度差异并不重要,请使用符合您意图的表达式.