正则表达式中的“\ 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
