<pre name="code" class="sql"><pre name="code" class="sql"><pre name="code" class="sql">+ 是一个特殊字符,表示匹配"+前边内容一次或多次。
s 空白
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里你可以强制进行非贪婪匹配,在量词后面加上一个问号来表示最小匹配。
我们同样的用户名匹配就可以写成/.*?:/。 这里.*? 现在尽可能少地匹配字符,而不是尽可能多的匹配字符。