在正则表达式中,一些字符有特殊含义,比如 .
代表匹配任意字符,*
代表匹配前一个字符0次或多次等。如果需要在正则表达式中匹配这些特殊字符本身,就需要对它们进行转义。
转义通常使用反斜杠 \
来实现。
-
.
(点号):
匹配除了换行符之外的任何单个字符。 -
^
(脱字符):
匹配输入字符串的开始位置。在字符集[]
中,它表示非(取反)。 -
$
(美元符号):
匹配输入字符串的结束位置。 -
*
(星号):
匹配前面的子表达式零次或多次。 -
+
(加号):
匹配前面的子表达式一次或多次。 -
?
(问号):
匹配前面的子表达式零次或一次,或者表示一个非贪婪限定符。 -
{
和}
(大括号):
用于量词的精确匹配,例如{n}
匹配n次,{n,}
匹配至少n次,{n,m}
匹配n到m次。 -
|
(竖线):
表示逻辑“或”,用于指定多个可能的匹配模式。 -
(
和)
(小括号):
用于分组,捕获匹配的子字符串以便稍后引用。 -
[
和]
(方括号):
用于定义字符集,匹配方括号内的任何一个字符。但在字符集内部,通常不需要转义方括号,除非它们是字符集的开头或结尾。 -
\
(反斜杠):
在正则表达式中,反斜杠本身就是一个转义字符。要匹配反斜杠本身,需要使用两个反斜杠(\\
)。