以下是一些常见的正则表达式特殊字符及其含义:
.
:匹配任何单个字符(除了换行符)。^
:匹配输入字符串的开始位置。在方括号表达式中使用时,表示不接受该字符集合。$
:匹配输入字符串的结束位置。*
:匹配前面的元素零次或多次。+
:匹配前面的元素一次或多次。?
:匹配前面的元素零次或一次。{n}
:n 是一个非负整数。匹配确定的 n 次。{n,}
:n 是一个非负整数。至少匹配 n 次。{n,m}
:m 和 n 均为非负整数,其中 n <= m。最少匹配 n 次且最多匹配 m 次。\\
:转义符,用于转义特殊字符,如\\d
匹配数字。|
:逻辑或操作符,匹配前后两个模式之一。[]
:字符集合,匹配方括号内的任意字符。例如,[aeiou]
匹配任意一个元音字母。[^]
:否定字符集合,匹配不在方括号内的任意字符。例如,[^0-9]
匹配任意一个非数字字符。( )
:分组符,用于将多个字符组合成一个整体进行处理。例如,(ab)+
匹配一个或多个连续的 "ab" 字符串。\d
:匹配任何数字,等同于[0-9]
。\D
:匹配任何非数字字符,等同于[^0-9]
。\w
:匹配任何字母、数字或下划线字符,等同于[A-Za-z0-9_]
。\W
:匹配任何非字母、数字或下划线字符,等同于[^A-Za-z0-9_]
。\s
:匹配任何空白字符(包括空格、制表符、换行符等)。\S
:匹配任何非空白字符。\b
:匹配一个单词的边界(一个单词与一个非单词字符的位置)。\B
:匹配非单词边界的位置。\A
:匹配输入字符串的开始位置(在某些实现中与^
相同)。\Z
:匹配输入字符串的结束位置或最后一个换行符之前的位置(在某些实现中与$
相似,但不完全相同)。\z
:匹配输入字符串的绝对结束位置。\G
:匹配上一个匹配的结束位置。\n
、\r
、\t
等:分别匹配换行符、回车符和制表符。\Q
和\E
:在这两个符号之间的所有字符都被视为普通字符,即使它们具有特殊含义。这可以用于转义包含特殊字符的字符串。[:alnum:]
、[:alpha:]
、[:digit:]
等:这些是 POSIX 风格的字符类,用于匹配特定类型的字符。例如,[:alnum:]
匹配任何字母或数字。
在编写复杂的正则表达式时,建议仔细测试并添加注释以解释其含义和用途。