正规表达式的元字符集
元字符
功能
例子
匹配什么
^
锚定行的开始
/^love/
匹配所有以love开头的行
$
锚定行的结束
/love$/
匹配所有以love结束的行
.
匹配一个字符
/l..e/
匹配所有这样的行,这些行包含这样的字符:第一个字符是l,紧跟着两个字符,然后是e
*
代表0个或者多个先前字符
/*love/
匹配所有这样的行,有0个或者多个空格,空格后跟着love
[]
 匹配字符组中的一个字符
/[Ll]ove/
匹配所有包含love或者Love的行
 [x-y]
 匹配以字符范围组成的组中的一个字符
 /[A-Z]ove/
匹配所有这样的行, 这些行包含如下的字符,第一个字符是从A到Z中间的一个,后面跟着ove
 [^]
 匹配一个不在范围内的字符
 /[^A-Z]ove/
 匹配所有这样的行,这些行包含如下的字符,第一个字符不是从A到Z中间的一个,后面跟着ove
 \
用来转义一个元字符 
 /love\./
 匹配所有这样的行,这些行包含如下的字符:love后面跟着一个点。通常点是表示任何字符的通配符。
 许多使用RE元字符集的UNIX程序都支持附加元字符集。
 \<
锚定单词的开始 
 /\<love/
匹配所有这样的行,这些行包含以love开头的单词(vi和grep支持这个功能) 
 \>
 锚定单词的结束
 /love\>/
 匹配所有这样的行,这些行包含以love结束的单词(vi和grep)支持这个功能
 \(..\)
 标记后面用到的匹配字符(传)
 /\(love\)able\lrs/
 最多可以使用9个标签。第一个标签是模板最左边的部分。在本例子中,模板love保存为标签l,后面的\l指的就是Love;本例子搜索的是这样的行,这些行包含这样的字符,在Loveable后面跟着lovers
 x\{m\}or
m次复制字符 x
o\{5,10\} 
 匹配所有这样的行,包含的o的数量在5到10个之间。(vi和grep支持这个功能)
x\{m,\}or
至少m次复制字符x
x\{m,n\}
至少m次,至多n次复制字Xa

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a.各种版本的UNIX以及模板匹配(pattern-mactching)实用程序并不都是可信赖的,通常我们使用vi和grep.