. 匹配任何单字符
[chars] 匹配字符串:chars
[^chars] 不匹配字符串:chars
text1|text2 可选择的字符串:text1或text2
? 匹配0到1个字符
* 匹配0到多个字符
+ 匹配1到多个字符
^ 字符串开始标志
$ 字符串结束标志
\n 转义符标志
反向引用 $N 用于 RewriteRule 中匹配的变量调用(0 <= N <= 9)
反向引用 %N 用于 RewriteCond 中最后一个匹配的变量调用(1 <= N <= 9)
正则表达式(regular expression)对象包含一个正则表达式模式(pattern)。它具有用正则表达式模式去匹配或代替一个串(string)中特定字符(或字符集合)的属性(properties)和方法(methods)。
阅读全文…
必须掌握的:
转义字符,组合字符,如, “(” 则匹配 “(“,’n’匹配一个换行符
^ 表明对字符串的开始位匹配
$ 表明对字符串的结束位匹配
* 循环匹配,可以为匹配不到,等价于{0,}。
+ 循环匹配,至少要匹配对一次,等价于 {1,}。
? 循环匹配,最多两次匹配,可以为匹配不到, 等价于 {0,1}。
{n} n 是一个非负整数,循环匹配 n 次
{n,} n 是一个非负整数,至少循环匹配 n 次
{n,m} m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹 配 m 次,请注意在逗号和两个数之间不能有空格
? 当该字符紧跟在任何一个其他限制符 (*, +, ?, {n}, {n,}, {n,m}) 后面时,匹配模式是非贪婪的,即如果能匹配对一次,绝不进行两次匹配,而默认的贪婪模式,即尽可能多的匹配。其实这里可能理解力为:非贪婪,得到一个结果我就跳出循环;贪婪,得到一个我还想得到第二个,一直到循环结束
. 匹配除 “n” 换行之外的任何单个字符。要匹配包括 ’n’ 在内的任何字符,请使用 ’[.n]’ 的模式
(pattern) 就是以pattern的规则去匹配,并将匹配的结果放在匹配函数的结果集中
X|Y 即匹配的对象可以是X也是Y,如window98,window99 正确的匹配规则:”windows(98|99)” <==>”windows98|windows99″
[abc] 即匹配的对象中包含”abc”三个字母,[^abc] 即匹配的对象中不能含有”abc”三个字母
[a-z] 即匹配的对象中包含”a-z” 26个字母,[^a-z] 即匹配的对象中不能含有”a-z” 26个字母
实例:检测邮箱:hunk@boogu.com
阅读全文…