我想使用ack-is-better-than-grep(ACK)正则表达式找到我的代码库线和片段。我的理解是,ack使用Perl-derivative regular expressions,这是正确的吗?确认与正则表达式 - 混淆,简单的查询
但是,我不知道如何将这些查询工作:
ack 'foo'
ack '.*(foo)+.*'
ack '.*foo'
ack 'foo.*'
难道他们给不同的输出?如果是这样,为什么?
编辑:在我的测试中,他们输出不同的结果(例如,第一个输出比其他结果更匹配)。他们还突出了同一行的不同部分。
编辑2:输出的差异显然与突出显示(输出的着色)有关。我注意到,如果我运行ack
与--nocolor
上述命令的输出是相同的。显然,使用默认着色运行ack
会使部分输出在我的机器/配置中不可见。我在Ubuntu 11.04中使用bash在GNOME终端上运行它。
*不要*这些疑问给出不同的输出?如果是这样,你能举个例子吗?否则,你有什么理由怀疑他们这样做? –
你是什么意思第一个输出更多的比赛?哪一行匹配1,但没有匹配其他行? – NorthGuard
感谢@Konrad和@inTide,我更新了问题以解决您的意见。 –