快速入门
教程
工具和语言
示例
参考
书评
正则表达式参考
简介
目录
快速参考
字符
基本功能
字符类
速记
定位符
单词边界
量词
Unicode
捕获组和反向引用
命名组和反向引用
特殊组
模式修饰符
递归和平衡组
替换参考
字符
匹配的文本和反向引用
上下文和大小写转换
条件
本网站的更多内容
简介
正则表达式快速入门
正则表达式教程
替换字符串教程
应用程序和语言
正则表达式示例
正则表达式参考
替换字符串参考
书评
可打印 PDF
关于本网站
RSS Feed 和博客
RegexBuddy—Better than a regular expression reference!

正则表达式参考:字符类

功能语法说明示例JGsoft .NET Java Perl PCRE PCRE2 PHP Delphi R JavaScript VBScript XRegExp Python Ruby std::regex Boost Tcl ARE POSIX BRE POSIX ERE GNU BRE GNU ERE Oracle XML XPath
字符类 [ 在字符类外部使用时,[ 开始一个字符类。在字符类内部,应用不同的规则。除非另有说明,本页上的语法仅在字符类内有效,而所有其他参考页上的语法在字符类内无效。
文字字符 ^-]\ 之外的任何字符 除列出的特殊字符之外的所有字符都是文字字符,它们会将自己添加到字符类中。 [abc] 匹配 abc
反斜杠转义元字符 \(反斜杠)后跟 ^-]\ 中的任何字符 反斜杠转义特殊字符以抑制其特殊含义。 [\^\]] 匹配 ^] ECMAECMA
awk
转义字符 \ 转义字符是添加反斜杠到字符类的文字字符。 [\] 匹配 \ 基本
扩展
grep
egrep
awk
基本
扩展
grep
egrep
范围 -(连字符)位于两个令牌之间,每个令牌指定单个字符。 向字符类添加一系列字符。 [a-zA-Z0-9] 匹配任何 ASCII 字母或数字
否定字符类 ^(插入符号)紧跟在左方括号 [ 之后 否定字符类,使其匹配字符类中未列出的单个字符。 [^a-d] 匹配 x(除 a、b、c 或 d 之外的任何字符)
左方括号 [ 左方括号是添加左方括号到字符类的文字字符。 [ab[cd]ef] 匹配 aef]bef][ef]cef]def]
嵌套字符类 [ 字符类中的左方括号开始嵌套字符类。 [ab[cd]ef][abcdef] 相同,并匹配 af 之间的任何字母。 1.9
字符类减法 [base-[subtract]] 从“base”类中移除“subtract”类中的所有字符。 [a-z-aeiuo] 匹配一个非元音的单个字母。 2.0–7.0
字符类交集 [base&&[intersect]] 将字符类缩减到“base”和“intersect”中同时存在的字符。 [a-z&&[^aeiuo]] 匹配一个非元音的单个字母。 V21.9
字符类交集 [base&&intersect] 将字符类缩减到“base”和“intersect”中同时存在的字符。 [\p{Nd}&&\p{InThai}] 匹配一个单独的泰语数字。 1.9
字符转义 \n\r\t 分别将 LF 字符、CR 字符或制表符字符添加到字符类中。 [\n\r\t] 行尾、回车或制表符。 ECMA
awk
ECMA
awk
字符串字符串字符串字符串
字符转义 \a 将“警报”或“铃声”控制字符(ASCII 0x07)添加到字符类中。 [\a\t] 匹配一个铃声或制表符字符。 awkECMA
awk
字符转义 \b 将“退格”控制字符(ASCII 0x08)添加到字符类中。 [\b\t] 匹配一个退格或制表符字符。 ECMA VC’12–VC’15
awk VC’08–VC’22
ECMA
awk
字符转义 \B 将反斜杠添加到字符类中。 [\B] 匹配 \
字符转义 \e 将“转义”控制字符(ASCII 0x1B)添加到字符类中。 [\e\t] 匹配一个转义或制表符字符。 ECMA
awk
字符转义 \f 将“换页”控制字符(ASCII 0x0C)添加到字符类中。 [\f\t] 匹配换页符或制表符。 ECMA
awk
ECMA
awk
字符转义 \v 将“垂直制表符”控制字符(ASCII 0x0B)添加到字符类别,而不添加任何其他垂直空白。 [\v\t] 匹配垂直制表符或制表符。 仅 V14–7ECMA
awk
ECMA
awk
POSIX 类 [:alpha:] 匹配 POSIX 字符类别 中的一个字符。只能在 方括号表达式 中使用。 [[:digit:][:lower:]] 匹配 09az 中的一个字符 ASCIIUnicodeASCIIASCII5.3.4 Unicode
5.0.0 代码页
ASCIIASCII1.9 Unicode
1.8 ASCII
UnicodeUnicodeUnicodeASCIIASCIIASCIIASCIIUnicode
POSIX 类 [:^alpha:] 匹配不属于特定 POSIX 字符类别 的一个字符。只能在 方括号表达式 中使用。 [5[:^digit:]] 匹配数字 5 或任何其他非数字字符。 3.7–3.10 错误1.9错误错误错误错误错误错误错误
POSIX 简写类 [:d:][:s:][:w:] 匹配 POSIX 字符类别“数字”、“空格”或“单词”中的一个字符。只能在 方括号表达式 中使用。 [[:s:][:d:]] 匹配空格、制表符、换行符或 09 中的一个字符 V2 ASCIIUnicodeUnicode
POSIX 简写类 [:l:][:u:] 匹配 POSIX 字符类别“小写”或“大写”中的一个字符。只能在 方括号表达式 中使用。 [[:u:]][[:l:]] 匹配 Aa 但不匹配 aA V2 ASCIIUnicode
POSIX 简写类 [:h:] 匹配 POSIX 字符类别“空白”中的一个字符。只能在 方括号表达式 中使用。 [[:h:]] 匹配空格。 V2 ASCII1.42–1.83
Unicode
POSIX 简写类 [:V:] 匹配垂直空白字符。只能在 方括号表达式 中使用。 [[:v:]] 匹配任何单个垂直空白字符。 V2 ASCII1.42–1.83
Unicode
POSIX 类 任何受支持的 \p{…} 语法 \p{…} 语法可以在字符类中使用。 [\p{Digit}\p{Lower}] 匹配 09az 中的一个 不适用9不适用不适用不适用不适用不适用不适用不适用不适用不适用1.9不适用扩展
egrep
不适用不适用不适用不适用不适用不适用不适用不适用
POSIX 类 \p{Alpha} 匹配 POSIX 字符类 中的一个字符。 \p{Digit} 匹配任何单个数字。 UnicodeASCIIUnicode1.9 UnicodeECMA
扩展
egrep
awk
Unicode
POSIX 类 \p{IsAlpha} 匹配 POSIX 字符类 中的一个字符。 \p{IsDigit} 匹配任何单个数字。 Unicode9 Unicode
4 ASCII
Unicode
POSIX 校对序列 [.span-ll.] 匹配 POSIX 校对序列。只能在 括号表达式 中使用。 [[.span-ll.]] 在西班牙语区域设置中匹配 ll 错误错误错误错误错误错误错误3.7–3.10 错误仅限 1.8 错误失败
POSIX 字符等价 [=x=] 匹配 POSIX 字符等价。只能在 括号表达式 中使用。 [[=e=]] 在法语区域设置中匹配 eéèê 错误错误错误错误错误错误错误3.7–3.10 错误仅限 1.8 错误
功能语法说明示例JGsoft .NET Java Perl PCRE PCRE2 PHP Delphi R JavaScript VBScript XRegExp Python Ruby std::regex Boost Tcl ARE POSIX BRE POSIX ERE GNU BRE GNU ERE Oracle XML XPath