正则表达式

1、基本元字符集
^        锚定行的开始                            /^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后面跟着一个点.。通常.表示任何字符的元字符

2、附加元字符集
许多使用正则表达式的UNIX程序都支持附加元字符集
<              锚定单词的开始                  /<love/                 匹配这样的行,这些行包含以love开头的单词
>              锚定单词的结束                  /love>/                 匹配这样的行,这些行包含以love结束的单词
(..)           标记后面用到的字符            /(love)able1rs/    最多可以使用9个标签。匹配这样的行,这些行包含这样的字符,在loveable后面跟着lovers
x{m}       m次复制字符x                   /o{5,10}/            匹配这样的行,包含的o的数量在5到10个之间。
x{m,}      至少m次复制字符x
x{m,n}    至少m次,最多n次复制字符x

注意:
1、各种版本的UNIX以及模板匹配实用程序并不都是可信赖的,通常我们使用vi和grep。
2、<、>、(、)后面的单词或字符可以使用正则表达式。
例如:/<f.*th>/    匹配包含以f开头,紧跟着0个或者任意多个字符(.*),最终以th结束的单词的行

原文地址:https://www.cnblogs.com/pandachen/p/4564558.html