Tenho vários milhares de arquivos de código. Para o futuro preciso me livrar de um método, mas quero manter o argumento na mesma linha. Gostaria de resolver o problema com regex no Nodepad++
O Método fica assim
self.result(lib.file.SetValue('set accelerator', False, subtitle='Disable mode(auto)'))
Como resultado, quero o seguinte conteúdo
lib.file.SetValue('set accelerator', False, subtitle='Disable mode(auto)')
Então eu preciso me livrar self.result(
dos últimos parênteses)
Encontrei em outro tópico um problema semelhante
Como excluir todo o texto, exceto o que está entre duas strings (Notepad ++)
É óbvio que não posso fazer o seguinte
procurar:
self.result(([^))]*) #Match "self.result(" followed by any
#number of characters which are not "))"
replace with \1) #replace with what is in between and
#add a parentheses
Alguém pode me ajudar?
Muito obrigado
Responder1
Preciso me livrar de um método, mas quero manter os argumentos na mesma linha
Menu "Pesquisar" > "Substituir" (ou Ctrl+ H)
Defina "Encontrar o quê" como
self.result\((.*)\)\R
.Defina "Substituir por" para
\1
Habilite "Expressão regular" e "corresponde à nova linha"
Clique em "Substituir tudo"
Notas:
Usar
\r\n
para EOLs do WindowsUse
\n
para EOLs Unix/OSXUse
\r
EOLs para Mac OS (até a versão 9)Alternativamente, use
\R
which deve funcionar em todos os sistemas operacionais
Antes:
self.result(lib.file.SetValue('set accelerator', False, subtitle='Disable mode(auto)'))
Depois:
lib.file.SetValue('set accelerator', False, subtitle='Disable mode(auto)')
Leitura adicional
- Como usar expressões regulares no Notepad++ (tutorial)
- Notepad++: um guia para usar expressões regulares e modo de pesquisa estendida
- Tutorial de Expressões Regulares
- RegExr: aprenda, construa e teste RegEx
- regex101: testador e depurador de regex online
- RegExper: visualizador de expressões regulares