Substituindo pelo Grep
Você pode fazer (a maioria) com pesquisa / substituição de expressões regulares.
Use a caixa de diálogo Substituir, certificando-se de que "Usar expressões regulares" esteja selecionado e "Usar correspondência de várias linhas" não seja.
Pesquisar por:
\stylea{(.*)}
E substitua por:
Esta é uma expressão regular "back reference" para o texto "capturado" na expressão de pesquisa (a parte dentro dos parênteses). Se você tivesse várias capturas, poderia consultá-las com ,
, etc.
No entanto, lembre-se de que há uma limitação nas expressões regulares que provavelmente causará algum pesar. Você tem algumas linhas onde você tem colchetes encaixados dentro do texto, como:
\stylea{\# Date{\hspace*{1em}}{\hspace*{1em}}: May 19, 2016}
As expressões regulares não podem (por si) contar e corresponder aos delimitadores de aninhamento ( {}
) dessa forma. No seu caso, isso pode não acabar sendo um problema prático, porque a captura de (.*)
irá corresponder a tantos caracteres quanto possível antes do final da linha ("correspondência gulosa"), que no seu texto de exemplo acontece para fazer o direito coisa, porque cada tag \stylea{}
está em uma linha. Se você tiver arquivos com tags \stylea{}
abrangendo várias linhas, esse método não substituirá o texto corretamente. Sua melhor opção pode ser encontrar essas instâncias primeiro e alterá-las manualmente ou garantir que elas não abranjam várias linhas.
Isso deve funcionar com muitos editores que oferecem pesquisa / substituição de expressão regular, embora os detalhes das opções de diálogo sejam variados. Eu testei no TextWrangler para Mac OS X.
Substituindo apenas na seleção
Selecione as 8 linhas numeradas. Pesquisar por:
\stylea{
E substitua por:
\styleb{
Em seguida, clique no botão "Em seleção" na caixa de diálogo Substituir.