<pre name="code" class="sql"><pre name="code" class="sql"><pre name="code" class="sql">+ 是一个特殊字符,表示匹配"+前边内容一次或多次。


\s 空白 \t \n \r \f


\w [a-zA-Z_0-9] 匹配任何单个字符


\d 数字


. 点号 匹配所有的字符,除换行符外


\d{7,11} 将匹配最少7位数字,但不会多于11位数字。


+ 代表最少一次


* 表示0次或多次

量词原子性含义
* 否匹配 0 或者更多次数(最大)。

+ 否匹配 或者更多次数(最大)

? 否匹配 1 或者0次(最大)。

{COUNT} 否匹配COUNT 次

{MIN,} 否匹配至少MIN次(最大)

{MIN,MAX} 否匹配至少MIN次但不超过MAX次(最大)

*? 否匹配0或者更多次(最小)

+? 否匹配1或者更多次(最小)

?? 否匹配0或者1次(最小)

{MIN,}? 否匹配最多MIN次(最小)

{MIN,MAX}? 否匹配至少MIN次但不超过MAX次(最小)

? 表示零或一次
在perl里你可以强制进行非贪婪匹配,在量词后面加上一个问号来表示最小匹配。


我们同样的用户名匹配就可以写成/.*?:/。 这里.*? 现在尽可能少地匹配字符,而不是尽可能多的匹配字符。