anterior | início | próxima

Tcl

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:

Está gostando da leitura?
Está aprendendo?
Compre o livro novo que traz mais conteúdo, texto atualizado e ilustrações!
anterior | início | próxima