正则表达式匹配两个字符串之间的文本,包括字符串

and*_*rux 2 regex

我正在尝试解决 git 合并中的一些冲突,有很多 <<<<<< HEAD 和 ====== 块,我希望能够在 a 中找到并替换为空字符串很多文件。

我发现这个正则表达式模式可以正确匹配两个字符串之间的所有内容,但它遗漏了开始和结束字符串,我希望也能够匹配它们。

(?s)(?<=<<<<<<< HEAD).*?(?=\=\=\=\=\=\=\=)
Run Code Online (Sandbox Code Playgroud)

因此,匹配 <<<<<<< HEAD、======= 以及它们之间的所有内容来进行搜索/替换。

谁能帮我吗?我会在文件上运行这个,我确信我不想在这些字符串之间有任何东西,我想这也是为什么我在合并时没有尝试“使用他们的”标志,因为我需要先查看文件。

101*_*101 5

忽略 Xufox 提到的环视

(?s)(<<<<<<< HEAD)(.*?)(\=\=\=\=\=\=\=)
Run Code Online (Sandbox Code Playgroud)

用括号.*?括起来,以便您可以在替换中引用它。\1对于第一组、\2第二组以及\3介于两者之间的所有内容(但语法可能会有所不同。)