跳至主要內容
Workday User Guide
上次更新時間 :2023-06-23
Regex 字元類別

Regex 字元類別

字元類別建構

字元類別可讓您指定一組可產生單一字元比對的字元 (放在方括號中)。字元類別僅能比對單一字元。例如,
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
與詞組「batchfiles」中的「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」相符,但與「藍皮書」中的任何內容都不相符
\w
匹配任何英數字元,包括底線 (相當於
[A-Za-z0-9_]
)
r\w*
與「rm」和「根」相符
\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}
空格或 Tab
[ t]
\p{Cntrl}
控製字元
[\x00-\x1F\x7F]
\p{XDigit}
十六進位數字
[0-9a-fA-F]
\p{Space}
空白字元
[ \t\n\x0B\f\r]