以下是一些常见的正则表达式特殊字符及其含义:
.:匹配任何单个字符(除了换行符)。^:匹配输入字符串的开始位置。在方括号表达式中使用时,表示不接受该字符集合。$:匹配输入字符串的结束位置。*:匹配前面的元素零次或多次。+:匹配前面的元素一次或多次。?:匹配前面的元素零次或一次。{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:]匹配任何字母或数字。
在编写复杂的正则表达式时,建议仔细测试并添加注释以解释其含义和用途。