正规表达式的元字符集 | |||
元字符 | 功能 | 例子 | 匹配什么 |
^ | 锚定行的开始 | /^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次复制字X a |
a.各种版本的UNIX以及模板匹配(pattern-mactching)实用程序并不都是可信赖的,通常我们使用vi和grep.