如果我使用此命令,它可以正常工作:
grep -o -e "{{ *[-_[:alnum:]]\+"
但是,如果我使用这个,它会抛出错误
grep -o -e "{{ *[_-[:alnum:]]\+"
与此相同:
grep -o -e "{{ *[[:alnum:]-_]\+"
另一个:
grep -o -e "{{ *[[:alnum:]-\_]\+"
似乎RegExp中的[]无法启动也不能以_
结束为什么?
错误是:
grep:无效的范围结束
答案 0 :(得分:4)
错误与宣传-
有关:0-9
表示0123456789
。但_-[:alnum:]
的含义是什么?将-
作为第一个字符会禁用此特殊含义,因此第一个正则表达式按预期工作。