Está gostando da leitura?
Está aprendendo?
Compre o livro novo que traz mais conteúdo, texto atualizado e ilustrações!
característica como fazer
--------------------------------------
busca função regexp
substituição função regsub
divisão -
ER crua {entre chaves}
ignore M/m opção -nocase
global opção -all
A linguagem Tcl não podia ficar de fora da festa.
Bem, de cara aquela dica que é sempre importante: para deixar a ER no formato cru, evitando pré-processamento, basta colocá-la entre {chaves}.
As funções que nos interessam são regexp para busca
e regsub para substituição. O grande problema da Tcl é
que ela não tem suporte às classes POSIX, nem às bordas nem às
chaves! Fora isso, a busca de padrões é tranqüila:
if [regexp -nocase {^[a-z][a-z]$} "OI"] {
puts "casou!"
}
Então, para ignorar maiúsculas e minúsculas, usamos a opção
-nocase, que deve ser colocada logo após o nome da função. Em
seguida, colocamos nossa ER no formato cru para evitar problemas, e
como não podemos usar as chaves, fazemos a repetição manual,
duplicando a lista.
Já uma substituição é muito mais chata de fazer, o formato
genérico é regsub -opção ER $texto textonovo variávelnova
, veja:
prompt$ tclsh
% regsub -all {[A-Z]} "eScaMOSO" "." sobra
5
% puts $sobra
e.ca....
A função regsub retornou o número de substituições
efetuadas: cinco. Mas observe o trabalho para fazer isso, pois
colocamos a opção -all para trocar todas as
ocorrências, depois nossa ER crua, depois o texto original a ser
trocado, depois o texto novo que será colocado na troca e, por
último, o nome de uma variável para colocar o texto modificado.
Aí usamos o puts para nos mostrar o conteúdo da
variável sobra e finalmente conferir o que nossa ER fez.
Mais informações são encontradas em: