shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Expressões Regulares UTF8 ou ISO8859-1


From: Flavio Junior
Subject: Expressões Regulares UTF8 ou ISO8859-1
Date: Wed, 17 May 2006 12:05:15 -0300

Bom dia pessoal...
Não sei bem se é escopo da lista, mas como pelo menos 50% de shell
script é regex (regular expressions) eu vou postar isso aqui...

Normalmente nós não nos importamos com qual os "locale" (localização)
o nosso sistema está usando quando escrevemos uma expressão regular,
eu tenho a alguns dias percebido algumas coisas e não encontrei
resposta no google, talvez os guru ai consigam me esclarecer...

Segue a sequencia de comandos abaixo:

flavio@dezessete:~$ locale
LANG=en_US
LC_CTYPE="en_US"
LC_NUMERIC="en_US"
LC_TIME="en_US"
LC_COLLATE=C
LC_MONETARY="en_US"
LC_MESSAGES="en_US"
LC_PAPER="en_US"
LC_NAME="en_US"
LC_ADDRESS="en_US"
LC_TELEPHONE="en_US"
LC_MEASUREMENT="en_US"
LC_IDENTIFICATION="en_US"
LC_ALL=
flavio@dezessete:~$
flavio@dezessete:~$ echo "123 123 abC" | sed 's/[0-9]* [0-9]* [a-z]*//'
C
flavio@dezessete:~$ export LC_ALL=pt_BR.UTF8
flavio@dezessete:~$ echo "123 123 abC" | sed 's/[0-9]* [0-9]* [a-z]*//'
flavio@dezessete:~$


Para quem não entendeu o que eu fiz, eu simplesmente alterei o charset
do meu sistema de en_US (americano ou iso8859*) para UTF8 (o que
nasceu para ser um charset universal entre os sistemas POSIX)..

Alguem poderia me dizer por que diabos a expressão regular do sed, em
utf8, casou com o "C" maiusculo ??

Esse é um exemplo classico, mas varios outros podem ser feitos...


Valeu, espero resposta ou comentarios :)


Flávio do Carmo Júnior aka blk1d


reply via email to

[Prev in Thread] Current Thread [Next in Thread]