Escrevi uma expressão regular na esperança de poder substituir todas as correspondências (que é apenas um caractere) por maiúsculas. Estou usando o EditPad Pro (no entanto, estou disposto a usar qualquer outra ferramenta que me permita fazer isso, desde que seja livre para tentar, pois só preciso fazer isso uma vez).
Segundo plano: tenho um arquivo de texto muito longo usado por um aplicativo que diferencia maiúsculas de minúsculas, e algumas palavras começam com letras minúsculas em vez de maiúsculas, interrompendo o aplicativo. Isso levaria muito tempo para ser feito à mão e seria bastante complicado sem expressões regulares, porque a ocorrência do caractere minúsculo (mal) é muito específica.
Eu escrevi a expressão regular select e agora posso usá-la com uma referência anterior ($ 1 funciona muito bem), no entanto, não posso substituí-la por caracteres maiúsculos. Eu pensei que algo como \ u $ 1 funcionaria, mas não no EditPad Pro.
Se nenhuma ferramenta gratuita me permitir fazer isso, acho que a alternativa seria apenas fazê-lo em C #, mas estou com pressa e não estou perto de um compilador, então eu teria que baixar a edição expressa primeiro, então ... Seria preferível encontrar uma ferramenta que suporte esse recurso!
Obrigado!
Respostas:
O TextPad permitirá que você execute esta operação.
exemplo:
Encontre o que:
\([^ ]*\) \(.*\)
Substitua por:\U\1\E \2
isso
\U
fará com que todos os caracteres a seguir sejam superioreso
\E
desligará o\U
o resultado será:
fonte
ToUpper
)?\U$1\E
em Sublime Text\U\1\E
em Vim\L$1\E
trabalhou.Eu sei que este tópico é sobre o EditPad Pro, mas eu vim aqui porque tinha a mesma necessidade com um regexp javascript.
Para as pessoas aqui que precisam da mesma dica, você pode usar uma função ou lambda como argumento de substituição.
Eu uso a função abaixo para converter nomes de css com
-
o equivalente em javascript, por exemplo,"border-top"
será transformado em"borderTop"
:fonte
Fonte: Goyvaerts, janeiro (2006). Expressões regulares: o tutorial completo . Lulu.com. p. 35 . ISBN 1411677609. Google Books. Recuperado em 25 de junho de 2010.
fonte
Você pode fazer isso no jEdit, usando a opção "Return value of a BeanShell snippet" na caixa de diálogo localizar e substituir do jEdit. Basta procurar
" [a-z]"
e substituí-lo por" _0.toUpperCase()"
(sem aspas)fonte
Você também pode colocar a primeira letra da partida em maiúscula usando
\I1
e\I2
etc em vez de$1
e$2
.fonte
Apenas mais um exemplo de uso para o Notepad ++ (modo de pesquisa de expressão regular)
Exemplo:
fonte