Notepad++ 5.9.8正则表达式失效:匹配<instruct>标签内容失败
解决Notepad++ 5.9.8中查找带嵌套的标签内容问题
- 检查正则匹配模式设置:打开查找替换对话框(Ctrl+H),确认已选中「正则表达式」模式,同时取消勾选「.匹配换行符」——你用
[\s\S]已经能覆盖换行,勾选该选项反而可能导致旧版PCRE引擎出现匹配异常。 - 替换为支持嵌套的正则表达式:原表达式
[\s\S]*?会在遇到第一个</instruct>时终止匹配,无法处理嵌套标签。试试递归正则来匹配嵌套结构:<instruct>(?:(?!<\/?instruct>)[\s\S]|(?R))*<\/instruct> - 执行替换操作:
- 将上述正则填入「查找内容」框
- 在「替换为」框中输入你的新标签和目标文本,比如
<new-section>新内容</new-section> - 先点击「查找下一个」确认匹配范围正确,再按需选择「替换」或「全部替换」
内容的提问来源于stack exchange,提问作者Terry Wade
相关产品推荐
相关产品推荐

