为什么 WinMerge 忽略一行而不是另一行?

Why is WinMerge ignoring one line but not the other?

我正在比较两个不同的文件,并且正在使用这些行过滤器:

但是,忽略行为似乎不一致:

为什么第一个 case 语句被忽略而第二个没有?

我猜它与分配的字符串中的 / 有关,但我的第三行过滤器明确查找 2 // 以便 shouldn' t 是问题...

[\/\/]+.* 将 / 匹配到行尾。 [] 是 "anything in this group",您只是列出了 / 字符两次。所以它不需要第二个 / 来进行匹配。相当于\/.*

(\/\/)+.* 将匹配 // 到行尾(.* 使 + 冗余)。但这可能就是你想要的。 (是(),不是冗余)相当于\/\/.*