简单的问题,说我有两个正则表达式
rtmp.*?\b/
rtmp.+?\b/
如果在我做过的测试中,似乎可以忽略不计。
我理解两个表达式之间的技术差异。就我而言,要么会这样做。正如问题所述,我只是询问性能差异,如果有的话。我注意到的一个区别是+
需要egrep
grep 'rtmp.*?\b/'
egrep 'rtmp.+?\b/'
答案 0 :(得分:9)
这两个表达式:
rtmp.*?\b/
rtmp.+?\b/
匹配不同的东西。 *
表示“前一个表达式的零个或多个”(即任何数字),+
表示“前一个表达式中的一个或多个”。因此.*?
匹配非贪婪模式中任意数量的任何字符,.+?
匹配非贪婪模式中任何正数字符。
速度差异并不重要,请使用符合您意图的表达式。
答案 1 :(得分:2)
选择更适合您需求的产品; 性能差异可以忽略不计。
*
星号表示前面的元素中有零个或多个
+
加号表示前面有一个或多个元素。