[table]
|正则表达式简单使用说明|
[/table]
TongWeb5.0管理控制台虚拟主机中的"远程过滤"部分四个配置项的值设置形式都为正则表达式,这里简单介绍一下正则表达式表示形式(详细说明可参考JDK API中java.util.regex.Pattern类的文档说明或正则表达式规范):
[b]预定义字符类:[/b]
[b]字符类:[/b]
[b]贪婪匹配数量词:[/b]
[b]惰性匹配数量词:[/b]
贪婪匹配:匹配尽可能多的字符
惰性匹配:匹配尽可能少的字符
举例说明:字符串
Tom is a <b>junior</b> developer <b>living</b> in <b>beijing</c>.
则贪婪匹配"<b>.*</b>"的结果是"<b>junior</b> developer <b>living</b>",惰性匹配"<b>.*?</b>"的结果 是"<b>junior</b>"和"<b>living</b>"
[b]运算符:[/b]
举例说明:
1.配置一个以168.1开头的任意远程地址为:
168\.1\.\d\{1,2\}|1\d\d|2[0-4]\d|25[0-5]\.\d\{1,2\}|1\d\d|2[0-4]\d|25[0-5]
如果不要求这么精准也可表示成:
168\.1\.\d\{1,3\}\.\d\{1,3\}
2.配置一个以TW开头的任意远程主机为:TW.* 。
|正则表达式简单使用说明|
[/table]
TongWeb5.0管理控制台虚拟主机中的"远程过滤"部分四个配置项的值设置形式都为正则表达式,这里简单介绍一下正则表达式表示形式(详细说明可参考JDK API中java.util.regex.Pattern类的文档说明或正则表达式规范):
[b]预定义字符类:[/b]
. 任何单个字符(与行结束符可能匹配也可能不匹配)
\d 数字:[0-9]
\D 非数字: [^0-9]
\s 空白字符:[ \t\n\x0B\f\r]
\S 非空白字符:[^\s]
\w 单词字符:[a-zA-Z_0-9]
\W 非单词字符:[^\w]
\ 转义字符,如表示{需写出\{
[b]字符类:[/b]
[abc] a、b 或 c(简单类)
[^abc] 任何字符,除了 a、b 或 c(否定)
[a-zA-Z] a到z或A到 Z,两头的字母包括在内(范围)
[a-d[m-p]] a到d或m到 p,也可表示成[a-dm-p](并集)
[a-z&&[def]] d、e 或 f(交集)
[a-z&&[^bc]] a到z,除了b和c,也可表示成[ad-z](减去)
[a-z&&[^m-p]] a到z,除了m到p,也可表示成[a-lq-z](减去)
[b]贪婪匹配数量词:[/b]
X? 0个或一个X
X* 0个或多个X
X+ 1个或多个X
X{n} 恰好n个X
X{n,} 至少n个X
X{n,m} 至少n个X,但不超过m个,即n<=X<=m
[b]惰性匹配数量词:[/b]
X?? 一个X或一个也没有
X*? 0个或多个X
X+? 1个或多个X
X{n}? 恰好n个X
X{n,}? 至少n个X
X{n,m}? 至少n个X,但不超过m个,即n<=X<=m
贪婪匹配:匹配尽可能多的字符
惰性匹配:匹配尽可能少的字符
举例说明:字符串
Tom is a <b>junior</b> developer <b>living</b> in <b>beijing</c>.
则贪婪匹配"<b>.*</b>"的结果是"<b>junior</b> developer <b>living</b>",惰性匹配"<b>.*?</b>"的结果 是"<b>junior</b>"和"<b>living</b>"
[b]运算符:[/b]
XY X后面紧跟着Y
X|Y X或Y
(X) X作为捕获组
举例说明:
1.配置一个以168.1开头的任意远程地址为:
168\.1\.\d\{1,2\}|1\d\d|2[0-4]\d|25[0-5]\.\d\{1,2\}|1\d\d|2[0-4]\d|25[0-5]
如果不要求这么精准也可表示成:
168\.1\.\d\{1,3\}\.\d\{1,3\}
2.配置一个以TW开头的任意远程主机为:TW.* 。