2017-06-02 52 views
1

我比較兩個不同的文件,並使用這些我行過濾器:爲什麼WinMerge忽略一行而不是另一行?

  • ^' - 忽略其與'字符
  • ^[ |\t]*//啓動線 - 忽略其啓動零個或多個空格或製表符線路,進行通過//
  • [\/\/]+.* - 忽略與//行的任何數量的字符,唯一的限制是換行符。

然而,忽視行爲似乎是不一致的:

這是爲什麼第一個case語句忽略,但第二個是不是?

我猜它是與字符串中的/被分配,但我的三線過濾器明確查找2 //使應該是問題...

+0

你確定'[\/\ /] +。*'做你認爲它做的嗎? –

+1

'[\/\//] +。*'匹配行尾的a /。 []是「此組中的任何內容」,並且您只是將/字符列出兩次。所以它不需要第二個/做一個匹配。它相當於'\ /.*' – Tezra

+1

@ sab669'(\/\ /)+。*'會匹配'//'到行尾(。* makes + redundant)。但那可能是你想要的。 ('()',而不是冗餘) – Tezra

回答

1

[\/\/]+.*匹配行的末尾。 []是「此組中的任何內容」,並且您只是將/字符列出兩次。所以它不需要第二個/做一個匹配。它相當於\/.*

(\/\/)+.*會匹配//結束行(。* make + redundant)。但那可能是你想要的。 ((),而不是冗餘)它相當於\/\/.*

+0

@ sab669將註釋解釋爲答案。 :3 – Tezra

相關問題