正则表达式
一、基本的正则表达式元字符以及作用:
* 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中选择任意一个字符