正则表达式 学习参考 推荐入门者看(2)

\d$”在匹配“123”时,匹配成功,匹配结果为“3”,这个表达式要求匹配结尾处的数字,如果结尾处不是数字,如“123abc”,则是匹配失败的。

2.2.5  转义字符

一些不可见字符,或是在正则中具有特殊意义的元字符,如想匹配字符本身,需要用“\”对其进行转义。

表达式

 

说明

 

\r,\n

 

回车和换行

 

\\

 

匹配“\”本身

 

\^,\$,\.

 

分别匹配“^”、“$”和“.”

 

以下字符在匹配其本身时,通常需要进行转义。在实际应用中,根据具体情况,需要转义的字符可能不止如下所列字符

 .  $  ^  {  [  (  |  )  *  +  ?  \

2.2.6  量词(Quantifier)

量词表示一个子表达式可以匹配的次数。量词可以用来修饰一个字符、字符组,或是用()括起来的子表达式。一些常用的量词被定义成独立的元字符。

表达式

 

说明

 

举例

 

{m}

 

表达式匹配m次

 

“\d{3}”相当于“\d\d\d ”

“(abc){2}”相当于“abcabc”

 

{m,n}

 

表达式匹配最少m次,最多n次

 

“\d{2,3}”可以匹配“12”或“321”等2到3位的数字

 

{m,}

 

表达式至少匹配m次

 

“[a-z]{8,}”表示至少8位以上的字母

 

?

 

表达式匹配0次或1次,相当于{0,1}

 

“ab?”可以匹配“a”或“ab”

 

*

 

表达式匹配0次或任意多次,相当于{0,}

 

“<[^>]*>”中“[^>]*”表示0个或任意多个不是“>”的字符

 

+

 

表达式匹配1次或意多次,至少1次,相当于{1,}

 

“\d\s+\d”表示两个数字中间,至少有一个以上的空白字符

 

注意:在不是动态生成的正则表达式中,不要出现“{1}”这样的量词,如“\w{1}”在结果上等价于“\w”,但是会降低匹配效率和可读性,属于画蛇添足的做法。

2.2.7  分支结构(Alternation)

当一个字符串的某一子串具有多种可能时,采用分支结构来匹配,“|”表示多个子表达式之间“或”的关系,“|”是以()限定范围的,如果在“|”的左右两侧没有()来限定范围,那么它的作用范围即为“|”左右两侧整体。

表达式

 

说明

 

|

 

多个子表达式之间取“或”的关系

 

举例:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wfwzdy.html