Does "\d" in regex mean a digit?
I found that in 123 , d matches 1 and 3 but not 2 . I was wondering if d matches a digit satisfying what kind of requirement? I am talking about Python style regex.
Regular expression plugin in Gedit is using Python style regex. I created a text file with its content being
123
Only 1 and 3 are matched by the regex d ; 2 is not.
Generally for a sequence of digit numbers without other characters in between, only the odd order digits are matches, and the even order digits are not. For example in 12345 , the matches are 1 , 3 and 5 .
[0-9] is not always equivalent to d . In python3, [0-9] matches only 0123456789 characters, while d matches [0-9] and other digit characters, for example Eastern Arabic numerals ٠١٢٣٤٥٦٧٨٩ .
In Python-style regex, d matches any individual digit. If you're seeing something that doesn't seem to do that, please provide the full regex you're using, as opposed to just describing that one particular symbol.
>>> 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中任意三位数字的序列。
上一篇: 正则表达式vs while循环
下一篇: 正则表达式中的“\ d”是指数字吗?
