分类: LINUX
2008-11-14 15:35:36
正则表达式元字符
元字符 |
功能 |
示例 |
匹配对象 |
^ |
行首定位符 |
/^man/ |
匹配所有以man开头的行 |
$ |
行尾定位符 |
/man$/ |
匹配所有以man结尾的行 |
. |
匹配单个字符 |
/m..n/ |
匹配包含一个m,后跟两个字符,再跟一个n的行 |
* |
匹配0个或多个重复的位于星号前的字符 |
/*man/ |
匹配包含跟在0个或者多个空格的模式的man的行 |
[] |
匹配一组字符中任一个 |
/[Mm]an/ |
匹配包含Man或man的行 |
[x-y] |
匹配指定范围内的一个字符 |
/[A-Z]an/ |
匹配后面跟着an的一个A至Z之间的字符 |
[^] |
匹配不在指定组内的字符 |
/[^A-Z]/ |
匹配不在范围A至Z之间的任意一个字符 |
\ |
用来转义元字符 |
/man\./ |
匹配包含man,后面跟一个点(如果不转义的话则是匹配一个任意字符) |
\< |
词首定位符 |
/\ |
匹配包含以man开头的词的行(vi和grep支持) |
\> |
词首定位符 |
/man\>/ |
匹配包含以man结尾的词的行(vi和grep支持) |
\(..\) |
匹配稍后将要使用的字符的标签 |
s/\(man\) acle/\1age/g |
最多可以使用9个标签,模式中最左边的标签是第一个。例如,模式man被保存为标签1,用\1表示。左边这个例子中,查找manacle,把它替换成manage(sed、vi和grep支持) |
x\{m\}或 x\{m,\}或 x\{m,n\} |
字符x的重复出现:m次、至少m次、至少m次且不超过n次 |
n\{3,5\} |
匹配包含3~5个连续的字母n的行<% |