编辑
证明它应该有效: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
谢谢!
正则表达式来自https://stackoverflow.com/questions/632475/regex-to-pick-commas-outside-of-quotes
答案1
这是由于 Notepad++ 的 RegEx 引擎中的一个错误造成的(错误报告)。
使用零宽度环视断言时,点击代替根本就没有效果!
例如,在字符串上使用时,用 替换 会表现出相同的T(?=E)
行为。B
TEST
点击全部替换在问题解决之前,可作为一种解决方法。
答案2
目前|
notepad++ 不支持管道符号。
最新版本Notepad 10.1.1
支持|
RegEx