为什么 WinMerge 忽略一行而不是另一行?
Why is WinMerge ignoring one line but not the other?
我正在比较两个不同的文件,并且正在使用这些行过滤器:
^'
- 忽略以 '
字符开头的行
^[ |\t]*//
- 忽略以零个或多个空格或制表符开始的行,然后是 //
[\/\/]+.*
- 忽略以 //
开头的任意数量字符的行,唯一的限制是换行符。
但是,忽略行为似乎不一致:
为什么第一个 case 语句被忽略而第二个没有?
我猜它与分配的字符串中的 /
有关,但我的第三行过滤器明确查找 2 //
以便 shouldn' t 是问题...
[\/\/]+.*
将 / 匹配到行尾。 [] 是 "anything in this group",您只是列出了 / 字符两次。所以它不需要第二个 / 来进行匹配。相当于\/.*
(\/\/)+.*
将匹配 // 到行尾(.* 使 + 冗余)。但这可能就是你想要的。 (是(),不是冗余)相当于\/\/.*
我正在比较两个不同的文件,并且正在使用这些行过滤器:
^'
- 忽略以'
字符开头的行^[ |\t]*//
- 忽略以零个或多个空格或制表符开始的行,然后是//
[\/\/]+.*
- 忽略以//
开头的任意数量字符的行,唯一的限制是换行符。
但是,忽略行为似乎不一致:
为什么第一个 case 语句被忽略而第二个没有?
我猜它与分配的字符串中的 /
有关,但我的第三行过滤器明确查找 2 //
以便 shouldn' t 是问题...
[\/\/]+.*
将 / 匹配到行尾。 [] 是 "anything in this group",您只是列出了 / 字符两次。所以它不需要第二个 / 来进行匹配。相当于\/.*
(\/\/)+.*
将匹配 // 到行尾(.* 使 + 冗余)。但这可能就是你想要的。 (是(),不是冗余)相当于\/\/.*