我想使用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,我更新了問題以解決您的意見。 –