量词:指定字符组出现的次数
例如\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}\?