一.基本正则表达式(BRE)

'.'    匹配任意单个字符

'*'   指定*前的字符可以连续重复使用任意次,表示重复次数与通配符中的'*' 意义不同(另贪婪模式即最大化匹配)

'^'   匹配行首

'$'   匹配行尾

'.*'   任意数量的字符

'\+'  任意一个或者多个字符

'\?'  任意零个或者一个字符

'\'     转义字符

'[...]' 匹配指定范围内的任意单个字符

'[^...]' 匹配指定范围外的任意单个字符

'\(....\)'  标记匹配字符,向后引用,例如\(grep\).*\1,匹配2个grep中间带有任意数目的字符

'\n'  重复在\(...\) 内的第n个模式

x\{m,n\} 区间表达式,匹配x字符出现的次数区间.x\{n\}是指x出现n次,x\{m,\}是指x出现至少m次,

x\{m,n\}是指至少出现m次,至多出现n次

'\<...' 锚定词首

'...\>'  锚定词尾

'&'  保存查找串以便在替换串中引用, 例如s/.*/abc&/g 结果 abc........

 

 

二.扩展正则表达式(ERE)

'()' 分组引用 (ab) 匹配ababab

'|' 或者

{m,n} 匹配至少m次,至多n次,不需要加\ 对{ } 进行转义

+ 匹配一次或者多次

? 匹配0次或者一次