八九点

导航

正则表达式

一、基本的正则表达式元字符以及作用:

*  0个或多个在*字符之间的那个普通字符

.  匹配任意字符

^  匹配首行,或者后面字符的非

$  匹配行尾

[]  匹配字符集合

\  转义符,屏蔽一个元字符的特殊意义

\<\>  精确匹配符号

\{n\}  匹配前面字符出现n次

\{n,\}  匹配前面字符至少出现n次

\{n,m\}  匹配前面字符出现n~m次

举例说明:

<1>“*”符号用于匹配前面一个普通字符的0次或多次重复

hel*o           //*号前面的普通字符是l,*就表示匹配l字符0次或多次,如字符串helo、hello、hellllo都可以由hel*o来表示

 

<2>“.”符号用于匹配任意一个字符

...73.  //.符号只能匹配一个字符,上述字符串表示前三个字符为任意字符,第4和第5位为7和3,最后一个字符为任意字符,.符号也可以匹配空格

 

<3>“^”符号用于匹配行首,表示行首的字符是"^"字符后面的那个字符

^cloud  //表示匹配以cloud开头的行

^...X86*  //表示行首的三个字符为任意,第4~6位为X86,第7位可以重复匹配6

 

<4>“$”符号用于匹配行尾

micky$  //表示匹配以micky结尾的所有行,如果想匹配空行可以使用^$,只有一个字符的行用^.$来匹配

 

<5>“[]”符号用于匹配集合字符

[0123456789]          //匹配任意一个数字

[0-9]       //匹配任意一个数字

[a-z]       //匹配所有小写字母

[A-Z]       //匹配所有大写字母

[^a-z]       //表示匹配除了小写字母的所有字符

 

<6>“\”符号是转义符,用于屏蔽一个元字符的特殊意义

\.    //反斜线后面的字符“.”经过转义后不再表示任意一个字符了,而是一个普通字符点号

 

<7>“\<\>”符号是精确匹配符号

\<the\>    //该正则表达式精确匹配the这个单词

 

<8>“\{\}”表示前一个字符的重复,而且可以指定重复次数

JO\{3\}B    //重复字符O三次

JO\{3,\}B    //重复字符O至少三次

JO\{3,6\}B    //重复字符O三~六次

 

二、扩展正则表达式

?    匹配0个或1个在其之前的那个普通字符

+    匹配1个或多个在其之前的那个普通字符

()    表示一个字符集合或用在expr中

|    表示"或",匹配一组可选的字符

 

<1>“?”符号匹配它之前的那个字符0次或1次

JO?B      //表示匹配O字符0次或1次,即匹配JOB或JOOB

 

<2>“+”符号是匹配其前面字符多次

S+EU      //表示匹配S一次或任意次

 

<3>“()”符号和“|”符号通常结合使用,表示一组可选字符的集合

re(a|e|o)d    //该表达式中的(a|e|o)表示在字符a、e、o中选择任意一个字符

 

posted on 2017-08-29 09:06  八九点  阅读(184)  评论(0编辑  收藏  举报