正则指引--量词


量词:指定字符组出现的次数
例如\d\d\d表示出现三个字符组,我们可以使用量词表示法:
\d{3}
量词可以表示字符组出现的次数,还可以表示字符组出现次数的范围:
\d{0,10} : 就表示这边可以匹配出现0到10次之间整数。
一般量词的表示:
{n}
{m,n} 表示范围:m<= X <=n
{m,}  表示范围:m<= X ,X可以无穷大
{0,n} 表示范围:0<= X <=n
还存在一组常用量词,也可以叫量词简记法:
*  :{0,}
+  :{1,}
?  :{0,1}

点号:可以表示任意字符,除去换行符\n。  自制任意字符是:[\s\S]

匹配优先量词:
会对量词的匹配优先,量词后面的匹配排后。
例如:".*" 去匹配 字符串: "sdfasf"ddd" 匹配出的结果是 :  "sdfasf"ddd"


忽略优先量词:
会对量词后面的匹配优先,量词的匹配排后。
例如:".*?" 去匹配 字符串: "sdfasf"ddd" 匹配出的结果是 :  "sdfasf"

默认量词表示法都是优先匹配量词,如果需要忽略优先匹配量词的话,需要在后面加上?,具体如下:

匹配优先量词  忽略优先量词
*               *?
+               +?
?               ??
{m,n}         {m,n}?

量词默认表示字符组出现的次数,但是有时我们就是需要匹配量词形式的字符串,就需要对量词进行转义:
各种量词转义:
{m,n}   : \{m,n}
*          : \*          
*?         : \*\?
+          : \+         
+?        : \+\?
?           : \?          
??         : \?\?
{m,n}   : \{m,n}          
{m,n}? : \{m,n}\?
posted @ 2012-11-01 14:47  八神吻你  阅读(405)  评论(0编辑  收藏  举报