正则表达式语法

本表列出 WhatsUp Gold 正则表达式软件引擎能理解的中继字符。

匹配单一字符

中继字符

匹配内容

 .

匹配包含任一字符的项目

 [...]

字符类别

匹配包含中括号内任何字符的项目。
举例来说,[abc] 代表寻找“a”、“b”、“c”

 [^...]

排除字符类别

匹配不含中括号内任何字符的项目。
举例来说,[^abc] 代表寻找不含“a”、“b”、“c”三个字符的项目。
见以下其他用法:^ 的用法可控制其意义。

 -

破折号

用于字符类别内。指出字符范围。
范例:[2-7] 代表寻找 2~7 的任何数字。
范例:[0-3a-d] 等于 [0123abcd]

 \

转义字符

照字面解译下一个字符。 
范例:3\.14 代表只有“3.14”符合条件。但 3.14 代表“3214”、“3.14”、“3z14”......等等都符合条件。

 \\xnn

二进制字符

匹配一个二进制字符。nn 是 00~FF 之间的十六进制值。
范例: \\x41 代表寻找“A”
范例:\\x0B 代表寻找垂直制表符

量词

中继字符

匹配内容

 ?

问号

可选择性匹配一个表达式。 匹配前一个表达式一次或不匹配该表达式。
范例:colou?r 代表“colour”或“color”都符合条件
范例:[0-3][0-5]? 代表“2”和“25”都符合条件

 *

星号

任何数字皆可,但非必要。
范例:  .*  任何字符出现零次以上

 +

加号

一个表达式为必要,其他都非必要。
范例,[0-9]+ 代表“1”、“15”、“220”......等等都符合条件

??, +?, *?

 

?、+、* 的“非穷尽”版本。尽可能匹配出最少项目,“穷尽”版本是尽可能匹配出最多项目
范例:以输入字符串 <html>content</html> 而言
<.*?> 代表 <html> 符合条件
<.*> 代表 <html>content</html> 符合条件

匹配位置

中继字符

匹配内容

 ^

插入号

匹配输入开头的位置。
范例:^2 代表只寻找以“2”开头的输入内容。
范例:^[45] 代表只寻找以“4”或“5”开头的输入内容

 $

美元符号

在正则表达式结尾,此字符可匹配输入内容的结尾。
范例:>$ 代表寻找以“>”结尾的输入内容。

其他

中继字符

匹配内容

 |

交替

匹配该符号分隔的任何一个表达式。
范例:  H|Cat 代表寻找“Hat”或者“Cat”

 (...)

小括号

将量词分组,利用优先权限制交替的范围。
范例:(abc)*  代表寻找 abc 字符串出现 0 次以上的项目
范例:WhatsUp (Gold)|(Professional) 代表寻找“WhatsUp Gold”或“WhatsUp Professional”

 \0, \1, ...

反向参照

匹配在之前第一、第二......等等匹配群组中符合条件的文字 (从 0 开始)。
范例:<{head}>.*?</\0> 代表“<head>xxx</head>”符合条件。

!

排除

! 后面的表达式不符合输入条件
范例:a!b 代表寻找后面没有“b”的“a”。

缩写

缩写就是中继字符的简写。

缩写

匹配内容

\a

任何字母数字字符:([a-zA-Z0-9])

\b

空格 (空白):([ \\t])

\c

任何英文字母:([a-zA-Z])

\d

任何十进制数:[0-9]

\D

任何非十进制数:[^0-9]

\h

任何十六进制数字:([0-9a-fA-F])

\n

换行:(\r|(\r?\n))

\p

任何标点符号:  ,./\';:"!?@#$%^&*()[]{}- _=+|<>!~

\P

任何非标点符号字符

\q

引号字符串:(\"[^\"]*\")|(\'[^\']*\')

\s

WhatsUp Gold 专用空格字符:[ \\t\\n\\r\\f\\v]

\S

WhatsUp Gold 专用非空格字符:
[^ \\t\\n\\r\\f\\v]

\w

任何文字字符 (字母和数字):([a-zA-Z0-9_])

\W

非文字字符:([^a-zA-Z0-9_])

\z

整数:([0-9]+)

另请参阅

使用正则表达式编辑工具

脚本语法

脚本语法:Expect=Keyword

脚本语法:Send=Keyword

脚本语法:SimpleExpect 关键词

脚本语法:Flow Control 关键词

发送断线命令范例

文字字符串范例