如果我想匹配点号符号 (
.
),我需要写这个正则表达式:/\./
需要转义字符来匹配该符号本身。
如果我想匹配 'd' 符号,我需要写这个正则表达式:
/d/
不需要转义字符来匹配该符号本身。
而如果我想匹配任何字符 (/./
) 或任何数字字符 (/\d/
),则情况相反。
我觉得这种方法并不是非常一致。这背后的推理是什么呢?
谢谢。
如果我想匹配点号符号 (.
),我需要写这个正则表达式:
/\./
需要转义字符来匹配该符号本身。
如果我想匹配 'd' 符号,我需要写这个正则表达式:
/d/
不需要转义字符来匹配该符号本身。
而如果我想匹配任何字符 (/./
) 或任何数字字符 (/\d/
),则情况相反。
我觉得这种方法并不是非常一致。这背后的推理是什么呢?
谢谢。
.
字符是一个保留的正则表达式关键字,而d
则不是。当匹配一个句号时,您需要包含转义字符来明确地告诉正则表达式您想要将句号作为普通匹配字符使用。 d
本身不是一个保留关键字,因此您不需要进行转义,但\d
是一个保留关键字。.
被如此频繁地使用,而且我想不到什么时候我真正需要匹配句号,所以让它成为一个没有反斜杠的字符更有意义。
/\./
,而不是/\\./
。 - Tim Pietzcker