正则表达式简单使用说明

正则表达式简单使用说明

TongWeb5.0管理控制台虚拟主机中的"远程过滤"部分四个配置项的值设置形式都为正则表达式,这里简单介绍一下正则表达式表示形式(详细说明可参考JDK API中java.util.regex.Pattern类的文档说明或正则表达式规范):

预定义字符类:
.    任何单个字符(与行结束符可能匹配也可能不匹配)
\d   数字:[0-9]
\D   非数字: [^0-9]
\s   空白字符:[ \t\n\x0B\f\r]
\S   非空白字符:[^\s]
\w   单词字符:[a-zA-Z_0-9]
\W   非单词字符:[^\w]
\    转义字符,如表示{需写出\{


字符类:
[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](减去)


贪婪匹配数量词:
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


惰性匹配数量词:
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>"

运算符:   
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.* 。

你可能感兴趣的:(C++,c,正则表达式,配置管理,C#)