1、元字符集
^
锚定行的开始 如:/^sed/匹配所有以sed开头的行。
$
锚定行的结束 如:/sed$/匹配所有以sed结尾的行。
.
匹配一个非换行符的字符 如:/s.d/匹配s后接一个任意字符,然后是d。
*
匹配零或多个字符 如:/*sed/匹配所有模板是一个或多个空格后紧跟sed的行。
[ ]
[abc] [c1-c2]
[^abc] [^c1-c2]
匹配一个指定范围内的字符,如/[Ss]ed/匹配sed和Sed。
匹配一个不在指定范围内的字符,如:/[^A-RT-Z]ed/匹配不包含A-R和T-Z的一个字母开头,紧跟ed的行。
\(..\)
保存匹
2、配的字符,(一个正则表达式中最多可以保存9个),它们可以用 \1 到\9 的符号来引用。如s/\(love\)able/\1rs,loveable被替换成lovers。
& (仅sed)
保存搜索字符用来替换其他字符,如s/love/**&**/,love这成**love**。
\<
\>
锚定单词的开始,如:/\/匹配包含以love结尾的单词的行。
\{..\}
x\{m\}
x\{m,\}
x\{m,n\}
匹配指定数目的字符,
重复字符x,m次,如:/o\{5\}/匹配包含5个o的行。
3、
重复字符x,至少m次,如:/o\{5,\}/匹配至少有5个o的行。
重复字符x,至少m次,不多于n次,如:/o\{5,10\}/匹配5--10个o的行。
? (非sed)
匹配0或1个正好在它之前的那个字符。注意:这个元字符不是所有的软件都支持的!
+ (非sed)
匹配1或多个正好在它之前的那个字符。例如正则表达式9+匹配9、99、999等。注意:这个元字符不是所有的软件都支持的!
| (非sed)
将两个匹配条件进行逻辑“或”(Or)运算。例如正则表达式(him|her) 匹配"it belongs to him"和"it belongs to her",但是不能匹配"it belongs to them."。注意:这个元字符不是所有的软件都支持的!