我有这个正则表达式,它找到一行,其中包含“标题序列”与其上方的前 2 行、其下方的 1 到 5 行以及最后一行包含年份(四位数字)的行匹配。
((^.*$)\r\n){2}(^.*Title Sequence.*$\r\n)((.*\r\n){1,5}^.*, \d{4}.*$)
这很好用,但是当我尝试在 notepad++ 中为所有这些行添加书签时,它只会为每个块的第一行添加书签。我如何让它为块中的每一行添加书签,以便我可以删除除已添加书签的行之外的所有内容?
答案1
我认为没有办法一次性完成,但由于您感兴趣的只有 8 行,所以有一个解决方案需要 8 次迭代。
您可以使用 \K 运算符“将目前匹配的文本排除在整体正则表达式匹配之外“。
因此在示例中
b
a
b
你应该先收藏此页,因为第一行
b\r\na\r\nb
然后这是第二个
b\r\n\Ka\r\nb
这是第三次
b\r\na\r\n\Kb