(一)BRE——Basic Register Express 基本的正则表达式
(1)字符集:
(2)Meta字符:
(3)方括号表达式:
(4)后向引用:匹配于正则表达式匹配的先前的部分。
第一步将子表达式包围在(与)里;
第二部使用\digit,匹配于第n个先前方括号内子表达式匹配成功的字符。
(5)区间表达式:n与m的值在0至RE_DUP_MAX之间,RE_DUP_MAX最小为255。
(6)运算符优先级:
(二)ERE——Extend Register Express 扩展的正则表达式
与BRE的差别:
- 括号表达式中,\表示将meta字符转义;
- 后向引用不存在;
- 区间表达式为花括号{n} ;
- 单个字符匹配多个字符中增加了 ? ,+ ;
- 增加了匹配序列的交替运算符 | ;
- 增加了分组功能圆括号(字符群) ;
- 运算符优先级:
额外的正则表达式扩展:
1. 单词匹配:
\<字符串 【(字符串)】单词的开头在行起始处或在单词的开头;
字符串> 【(字符串)】单词的结尾在行结尾处或在单词的结尾;
2. 额外的GNU正则表达式运算符