如果我想匹配点符号(.
),我必须写这个正则表达式:
/\./
需要使用转义字符来匹配符号本身。
如果我想匹配' d'我必须写下这个符号:
/d/
与符号本身匹配所需的转义字符不。
如果我想匹配任何字符(/./
)或任何数字字符(/\d/
),则反之亦然。
在我看来,这种方法并不十分一致。支持它的原因是什么?
谢谢。
答案 0 :(得分:5)
.
字符是保留的正则表达式关键字。 d
不是d
。在匹配句点时,您需要包含转义字符,以明确告诉正则表达式您要将句点用作普通匹配字符。 \d
本身并不是一个保留字,所以你不需要逃避它,但.
是一个保留字。
我可以看到,对于那些来到正则表达式的人来说,它可能有点奇怪,但helper.py
经常被使用,我无法想到我真正需要的时间为了匹配句点,让它成为一个没有反斜杠的角色更有意义。