1、 [ABC]-匹配 […] 中的所有字符
2、 [^ABC]-匹配除了 […] 中字符的所有字符
3、 .-匹配除换行符(\n、\r)之外的任何单个字符,相等于 [^\n\r]。
4、[\s\S]-匹配所有。\s 是匹配所有空白符,包括换行,\S 非空白符,包括换行
5、 \w-匹配字母、数字、下划线。等价于 [A-Za-z0-9]
6、 ( )-标记一个子表达式的开始和结束位置
7、 *-匹配前面的子表达式零次或多次
8、 .-匹配除换行符 \n 之外的任何单字符
9、 [-标记一个中括号表达式的开始
10、 -将下一个字符标记为或特殊字符、或原义字符、或向后引用、或八进制转义符。例:‘n’ 匹配字符 ‘n’。’\n’ 匹配换行符。序列 ‘\’ 匹配 “”,而 ‘(’ 则匹配 “(”。
11、 ^-匹配输入字符串的开始位置,除非在方括号表达式中使用,当该符号在方括号表达式中使用时,表示不接受该方括号表达式中的字符集合
12、 $-匹配输入字符串的结尾位置
13、 {-标记限定符表达式的开始
14、 {n} 匹配前面的子表达式n次,如:[0-9]{2}匹配任意两位数字
15、 {n,} 匹配前面的子表达式不少于n次,如:[0-9]{2,}表示两位及两位以上数字
16、 {n,m} 匹配前面的子表达式n到m次,如:[a-z]{2,3}匹配两到三位的小写字母
17、 *
/.1 通配符中表示任意字符
• grep 0* /etc/passwd
• 这里0*会匹配所有内容(若是有空白行的文件,甚至包括空白行)。
/.2 正则表达式中表示匹配
里面的子表达式0次或者多次
• rep 00* /etc/passwd
• 这里00*匹配至少包含一个0的行(第一个0必须出现,第二个0可以出现0次或多次)。
18、扩展正则表达式
/.1 + -匹配前面的子表达式一次及以上
• egrep 0+ /etc/passwd //匹配至少包含一个0的行
/.2 |-指明两项之间的一个选择,或者的意思
• egrep ‘(root|ntp)’ /etc/passwd //匹配包含root或ntp的行
• egrep -v ‘$|#’ /etc/passwd //过滤文件中的空白行与#开头的行
/.3 ?-匹配前面的子表达式零次或一次,或指明一个非贪婪限定符
• egrep ro?t /etc/passwd //匹配rt或者rot的行