正则表达式中的“\ d”是指数字吗?
我发现在123
, d
匹配1
和3
但不是2
。 我想知道d
符合满足什么样的要求的数字? 我正在谈论Python风格的正则表达式。
Gedit中的正则表达式插件使用Python风格的正则表达式。 我创建了一个内容为的文本文件
123
只有1
和3
匹配正则表达式d
; 2
不是。
一般来说,对于一系列没有其他字符的数字序列,只有奇数序号是匹配的,而偶数序号则不是。 例如,在12345
中,匹配是1
, 3
和5
。
[0-9]
并不总是等同于d
。 在python3中, [0-9]
只匹配0123456789
字符,而d
匹配[0-9]
和其他数字字符,例如Eastern阿拉伯数字٠١٢٣٤٥٦٧٨٩
。
在Python风格的正则表达式中, d
匹配任何单独的数字。 如果你看到一些似乎没有做到的事情,请提供你正在使用的完整正则表达式,而不是只描述一个特定的符号。
>>> import re
>>> re.match(r'd', '3')
<_sre.SRE_Match object at 0x02155B80>
>>> re.match(r'd', '2')
<_sre.SRE_Match object at 0x02155BB8>
>>> re.match(r'd', '1')
<_sre.SRE_Match object at 0x02155B80>
d{3}
匹配Java中任意三位数字的序列。
上一篇: Does "\d" in regex mean a digit?
下一篇: Addressof operator returns invalid address in embedded environment