Notepad++ 替换不适用于正则表达式

Notepad++ 替换不适用于正则表达式

编辑

证明它应该有效:http://regexr.com?30pf2


我正在尝试替换所有出现的, 不在引号内~

20,72275,Epidurography,1
21,72285,X-Ray C/T Spine Disk,1
22,72291,"Perc Vert/Sacroplasty, Fluor",1
23,72292,"Perc Vert/Sacroplasty, Ct",1

成为

20~72275~Epidurography~1
21~72285~X-Ray C/T Spine Disk~1
22~72291~"Perc Vert/Sacroplasty, Fluor"~1
23~72292~"Perc Vert/Sacroplasty, Ct"~1

我的正则表达式运行良好,但我似乎无法替换它找到的值。Notepad++ 突出显示要替换的逗号,但当我单击代替按钮。

找什么:(,)(?=(?:[^"]|"[^"]*")*$)

用。。。来代替:~

我尝试过其他值,认为~是保留的,但其他每个字符或字符组合似乎也不起作用。希望这只是我的疏忽造成的。任何帮助都将不胜感激。

我正在使用 Notepad++ v6.1.1

谢谢! NotePad++ 截图

正则表达式来自https://stackoverflow.com/questions/632475/regex-to-pick-commas-outside-of-quotes

答案1

这是由于 Notepad++ 的 RegEx 引擎中的一个错误造成的(错误报告)。

使用零宽度环视断言时,点击代替根本就没有效果!

例如,在字符串上使用时,用 替换 会表现出相同的T(?=E)行为。BTEST

点击全部替换在问题解决之前,可作为一种解决方法。

答案2

目前|notepad++ 不支持管道符号。

最新版本Notepad 10.1.1支持|RegEx

相关内容