Regex 为什么正则表达式中的转义字符不匹配?
如果我想匹配点符号(Regex 为什么正则表达式中的转义字符不匹配?,regex,Regex,如果我想匹配点符号(),我必须编写以下正则表达式: /\./ 需要转义字符来匹配符号本身 如果我想匹配“d”符号,我必须写下: /d/ 转义字符不是匹配符号本身所需的 如果我想匹配任何字符(/./)或任何数字字符(/\d/),则反之亦然 在我看来,这种方法并不十分一致。背后的理由是什么 谢谢。字符是保留的正则表达式关键字。d不是。匹配句点时需要包含转义字符,以明确地告诉正则表达式要将句点用作正常匹配字符d本身不是保留字,因此不需要转义,但\d是保留字 我知道,对于来regex的人来说,这可能有点
),我必须编写以下正则表达式:
/\./
需要转义字符来匹配符号本身
/d/
/./
)或任何数字字符(/\d/
),则反之亦然
在我看来,这种方法并不十分一致。背后的理由是什么
谢谢。字符是保留的正则表达式关键字。
d
不是。匹配句点时需要包含转义字符,以明确地告诉正则表达式要将句点用作正常匹配字符d
本身不是保留字,因此不需要转义,但\d
是保留字
我知道,对于来regex的人来说,这可能有点奇怪,但是
经常被使用,我想不出有什么时候我真的需要匹配句点,只有一个字符没有反斜杠才更有意义。实际上,要匹配一个点,你需要/\./
,而不是/\./
.Tim,谢谢你的评论。你完全正确,我添加了一个额外的斜杠字符,因为Stackoverflow预览根本没有显示斜杠字符。我现在将编辑原始帖子。