Wow, to faktycznie pasuje do é
. Co tu się stało? Chciałbym, żeby nie pasowało do niczego innego niż zazwyczaj małe litery.Jak dopasował [a-z] é?
$ echo "frappé"|egrep -E "^[a-z]+$"
frappé
egrep (GNU grep) 2,16 na Ubuntu 14.04
Wow, to faktycznie pasuje do é
. Co tu się stało? Chciałbym, żeby nie pasowało do niczego innego niż zazwyczaj małe litery.Jak dopasował [a-z] é?
$ echo "frappé"|egrep -E "^[a-z]+$"
frappé
egrep (GNU grep) 2,16 na Ubuntu 14.04
Ustawienie locale mówi egrep
/grep -E
jak zestawiać zakres [a-z]
znaków.
$ export LC_COLLATE=C
$ echo "frappé" | egrep '^[a-z]+$'
# no match
$ export LC_COLLATE=en_US.utf8
$ echo "frappé" | egrep '^[a-z]+$'
frappé
nazwanych klas postaci mogą być używane w celu dopasowania znaków ze znakami diakrytycznymi pomimo lokalizacji:
$ export LC_COLLATE=C
$ echo "frappé" | egrep '^[[:lower:]]+$'
frappé
Jedynym powodem, dla którego podstawowy tryb nie pasuje, jest fakt, że w trybie podstawowym '+' pasuje tylko do literału '+'. 'echo" frappé " grep '^ [a-z] * $' 'nie pasuje. (Nie wiem o '-P', który jest wyłączony w moim grep.) – hvd
Dobra uwaga na temat -G,' echo "é" | LC_COLLATE = en_US.utf8 grep -G '^ [a-z] $' 'mecze. –
Właśnie próbuje to na moim mac, a wyrażenie nie pasuje do niczego, tak to powinno . Na jakim systemie go uruchamiasz? – dasblinkenlight
Nie pasuje do mnie: https://www.regex101.com/r/zD2lX8/1 –
https://www.regex101.com/r/zD2lX8/2 –