é
相匹配。这里发生了什么?我希望它不匹配除了典型的小写字母之外的任何东西。
$ echo "frappé"|egrep -E "^[a-z]+$"
frappé
在Ubuntu 14.04上的egrep(GNU grep)2.16
答案 0 :(得分:31)
您的locale设置会告诉egrep
/ grep -E
如何整理[a-z]
字符范围。
$ export LC_COLLATE=C
$ echo "frappé" | egrep '^[a-z]+$'
# no match
$ export LC_COLLATE=en_US.utf8
$ echo "frappé" | egrep '^[a-z]+$'
frappé
尽管有语言环境,但可以使用命名字符类来匹配带变音符号的字符:
$ export LC_COLLATE=C
$ echo "frappé" | egrep '^[[:lower:]]+$'
frappé