[Cascavel-pm] Tradução de expressão regular
Nelson Ferraz
nferraz em gnubis.com.br
Quarta Setembro 21 14:44:12 PDT 2005
> $variavel_um =~ /([^\/\\]+)$/;
O "$" no final da expressão regular indica que a pesquisa deve ser feita no final da string. Os parenteses indicam que a regexp irá retornar o que for encontrado.
[^x] bate com qualquer coisa diferente de "x"
Como os caracteres / e \ são especiais, é necessário "escapá-los": \/ e \\ respectivamente.
[^\/\\] bate com qualquer coisa diferente de "\" e "/"
[^\/\\]+ significa uma ou mais ocorrências de qualquer caractere diferente de "\" e "/"
Ou seja... estamos procurando "uma ou mais ocorrências de qualquer caractere diferente de \ e /" no final da string. Isso parece familiar?
> $variavel_dois =~ s/^\.+//;
s/foo/bar/ substitui "foo" por "bar" em uma string. No caso, estamos substituindo /^\.+/ por vazio.
O "^" no início da expressão indica que a substituição deve ser feita no início da string.
Novamente estamos "escapando" um caractere: \.+ indica que queremos um caractere ponto, uma ou mais vezes.
Sugestão de leitura: perldoc perlre (Perl regular expressions)
[]s
Nelson
Mais detalhes sobre a lista de discussão Cascavel-pm