跳至主要内容
Workday User Guide
上次更新时间 :2023-06-23
正则表达式字符类

正则表达式字符类

字符类结构

您可以通过字符类,指定一组字符(用方括号括起来),这些字符可以生成单个字符匹配项。某个字符类仅与单个字符匹配。例如,
gr[ae]y
将匹配到
gray
grey
,但不包括
graay
graey
。括号内的字符顺序无关紧要。
您可以在字符类中使用连字符来指定字符范围。示例:
[a-z]
匹配介于单个小写字母之间的值
a
z
。您还可以使用多个范围,或者多个范围和单个字符的组合。示例:
[0-9X]
与数字或字母匹配
X
。字符和范围的顺序并不重要。
左方括号后面的插入符号用于指定要从匹配项中排除的字符。例如,
[^abc]
可以匹配除
a
b
,或
c
构建
类型
描述
[
abc
]
简单
匹配项
a
b
c
[^abc]
取反
匹配除 以外的任意字符
a
b
c
[a-zA-Z]
范围
匹配项
a
截止日期
z
,或
A
截止日期
Z
(含)
[a-d[m-p]]
工会
匹配项
a
截止日期
d
,或
m
截止日期
p
[a-z&&[def]]
交集
匹配项
d
e
,或
f
[a-z&&[^xq]]
扣减
匹配项
a
截止日期
z
,但“”除外
x
q

预定义字符类

预定义字符类是常用正则表达式的便捷简写形式。
构建
描述
示例
.
匹配任意单个字符(换行符除外)
.at
匹配短语“batch Files”中的“cat”、“hat”和“bat”
\d
匹配任何数字字符(相当于
[0-9]
\d
匹配“C3PO”中的“3”和“file_2.txt”中的“2”
\D
匹配任何非数字字符(相当于
[^0-9]
\D
匹配“900S”中的“S”和“Q45”中的“Q”
\s
匹配任何单个空白字符(相当于
[ \t\n\x0B\f\r]
\sbook
与“蓝皮书”中的“book”匹配,但与“notebook”中不匹配
\S
匹配任何单个非空白字符
\Sbook
与“notebook”中的“book”匹配,但与“ Blue Book”中不匹配
\w
匹配任何字母数字字符,包括下划线(相当于
[A-Za-z0-9_]
r\w*
匹配“RM”和“ROOT”
\W
匹配任何非字母数字字符(相当于
[^A-Za-z0-9_]
\W
匹配“stmd &”中的“&”、“100%”中的“%”和“$HOME”中的“$”

POSix 字符分类 (US-ASCII)

POSix 具有一组字符类,用于表示某些通用范围。它们类似于括号字符类和预定义字符类,不同之处在于它们考虑了区域设置(本地语言/编码系统)。
构建
描述
\p{Lower}
一个小写字母字符;
[a-z]
\p{Upper}
大写字母字符
[A-Z]
\p{ASCII}
一个 ASCII 字符;
[\x00-\x7F]
\p{Alpha}
一个字母字符;
[a-zA-z]
\p{Digit}
一个数字;
[0-9]
\p{Alnum}
字母数字字符
[a-zA-z0-9]
\p{Punct}
一个标点符号,或下列值之一
!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
\p{Graph}
可见字符;
[\p{Alnum}\p{Punct}]
\p{Print}
可打印字符;
[\p{Graph}\x20]
\p{Blank}
空格或制表符
[ t]
\p{Cntrl}
控制字符
[\x00-\x1F\x7F]
\p{XDigit}
一个十六进制数字;
[0-9a-fA-F]
\p{Space}
一个空白字符;
[ \t\n\x0B\f\r]