[SP-pm] REGEXP: altera X alteração

Adriano Ferreira a.r.ferreira at gmail.com
Tue Aug 17 09:58:05 PDT 2010


2010/8/17 Fernando <fernandolouis at terra.com.br>:
> A regexp abaixo reconhece "altera", mas não reconhece "alteração". Por que?
>

Porque o seu string não é utf8, e neste caso 'ç' e 'ã' não combinam com \w.

Mas

pirl @> use utf8; $s = 'alteração '         i;
"altera\xE7\xE3o "
pirl @> $s =~ s/(altera\w*)/<b>$1<\/b>/gi; $s
"<b>altera\xE7\xE3o</b> "

funciona. O "use utf8" pode ajudá-lo se as suas strings estão no
código fonte, mas no caso de outros tipos de entrada (arquivos e
terminal, por exemplo), você terá de força-los a serem utf8: mexendo
com o "encoding" do glob associado ou usando funções como
utf8::decode() ou Encode::decode_utf8().

Saudações,
Adriano


More information about the SaoPaulo-pm mailing list