哇,这实际上匹配了一个é。这里发生了什么?我希望它不符合通常小写字母以外的任何东西。
$ echo "frappé"|egrep -E "^[a-z]+$" frappé
Ubuntu 14.04上的egrep(GNU grep)2.16
您的
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é