grep '[a-z]\{7\} *.txt中\是什么意思

[a-z]\ 代表什么?
{7\} ?

第1个回答  2018-01-28
正则中\表示转义,比如\s代表一个空字符(空格、制表符等),\d代表一个数字【grep默认正则不支持\s,\d,\w等用法】。
正则中. * ? + ( ) [ ] { } 有特殊的意义,如果匹配该字符本身,应该加转义 比如匹配一个星号 * 应该在正则中用 \*
一般的正则表达式中,“字符{数字A}”或 “字符{数字1,数字2}”表示量词,修饰前面的字符,表示“数字A个字符”或“最少数字1个,最多数字2个字符”
但是grep、sed、vi中的默认正则表达式有所不同,这些正则中的(, {, + 等如果不加转义,不表示特殊意义,加上转义才和其他语言中的正则,比如Perl、Net、PHP……,意义相同,不加转义代表本身。
grep其他版本也可以使用更高级的正则,比如egrep(或使用-e选项),-P选项可以使用Perl的正则写法,对(, { ,+ 前面不用加\就可以表示特殊含义,并且支持\w表示字符,环视等高级功能。
这里[a-z]\{7\}具体的意思就是 匹配7个连续的小写英文字母(不要求必须相同的字符)本回答被网友采纳
相似回答