Notepad++中如何用正则匹配替换括号内的|字符
Notepad++替换括号内竖线的操作方案
操作步骤
- 打开Notepad++的替换窗口,快捷键为
Ctrl+H - 「查找目标」输入框填写正则:
\|(?=[^()]*\)) - 「替换为」输入框填写:
- - 搜索模式选择 正则表达式,取消勾选 点号匹配换行符 选项
- 按需点击「替换」(单次替换)或「全部替换」(批量处理全文)即可
效果示例
原文本:
(123 | 456) (11.1 | 11.2) 括号外|的竖线不会被替换
处理后:(123 - 456) (11.1 - 11.2) 括号外|的竖线不会被替换
正则逻辑说明
这个正则利用了正向预查规则,只匹配符合括号内部条件的竖线:
\|匹配目标竖线字符(?=[^()]*\))为正向肯定预查,校验当前匹配的竖线之后,直到最近的右括号为止不会出现其他左右括号,以此确认竖线处于括号内部
注意事项
该方案仅适用于平级无嵌套的括号场景,存在括号嵌套时无法正确匹配。
内容的提问来源于stack exchange,提问作者user2664961
相关产品推荐
相关产品推荐

