Notepad++正则匹配被双换行包裹且含指定字符串的文本块
在Notepad++中匹配双换行包裹且含指定路径的文本块
- 问题原因:Notepad++采用Boost正则引擎,和regex101默认的PCRE引擎语法存在差异,比如转义规则、换行匹配逻辑不同,导致原本在regex101有效的正则无法直接复用。
- 适配Notepad++的正则表达式:
针对双换行包裹、包含D[:/\]+Apps[/\]+路径的文本块,可使用以下正则:
关键细节说明:(?:\r?\n){2}([\s\S]*?D[:\\/]+Apps[\\/]+[\s\S]*?)(?:\r?\n){2}(?:\r?\n){2}:兼容Windows(\r\n)和Unix(\n)双换行格式,非捕获组避免生成无用分组[\s\S]*?:非贪婪匹配任意字符(含换行),确保仅捕获两个双换行之间的目标文本块D[:\\/]+Apps[\\/]+:修正转义规则,Notepad++中反斜杠\必须转义为\\,斜杠/无需转义,保证路径匹配准确
- 使用步骤:
- 打开Notepad++查找对话框(快捷键Ctrl+F)
- 切换到「正则表达式」模式
- 勾选左下角的「匹配换行符」选项(否则无法跨换行匹配文本块)
- 粘贴上述正则并执行查找
内容的提问来源于stack exchange,提问作者Veselin_01
相关产品推荐
相关产品推荐

