EDITAR
Prova de que deveria funcionar:http://regexr.com?30pf2
Estou tentando substituir todas as ocorrências de,
que não estão entre aspascom um~
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
Torna-se
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
Meu Regex funciona perfeitamente, mas não consigo substituir os valores que ele encontra. O Notepad++ destaca a vírgula a ser substituída, mas passa sem fazer nenhuma alteração quando clico no botãoSubstituirbotão.
Encontre o que:
(,)(?=(?:[^"]|"[^"]*")*$)
Substituir com:
~
Eu tentei outros valores pensando que ~
eram de alguma forma reservados, mas todos os outros caracteres ou combinações de caracteres também não parecem funcionar. Espero que isso seja apenas o resultado de algum descuido da minha parte. Qualquer ajuda seria apreciada.
Estou usando o Notepad++ v6.1.1
Obrigado!
Regex dehttps://stackoverflow.com/questions/632475/regex-to-pick-commas-outside-of-quotes
Responder1
Isso se deve a um bug no mecanismo RegEx do Notepad++ (relatório de erro).
Ao usar asserções lookaround de largura zero, clicar emSubstituirsimplesmente não tem efeito!
Por exemplo, substituir T(?=E)
por B
exibe o mesmo comportamento quando usado na string TEST
.
ClicandoSubstitua tudoserve como uma solução alternativa até que isso seja corrigido.
Responder2
Atualmente |
o símbolo de pipe não é compatível com o notepad ++.
A versão mais recente Notepad 10.1.1
suporta |
RegEx