2024-04-18 13:07:47 发布
网友
我发现在123,\d匹配1和3,而不是2。我想知道\d是否匹配满足哪种要求的数字?我说的是Python风格的regex。
123
\d
1
3
2
Gedit中的正则表达式插件使用Python样式的regex。我创建了一个文本文件,其内容是
只有1和3与正则表达式\d匹配;而2不匹配。
通常对于一个没有其他字符的数字序列,只有奇数顺序的数字是匹配的,而偶数顺序的数字不是匹配的。例如在12345中,匹配项是1、3和5。
12345
5
[0-9]并不总是等同于\d。在python3中,[0-9]只匹配0123456789字符,而\d匹配[0-9]和其他数字字符,例如东部阿拉伯数字٠١٢٣٤٥٦٧٨٩。
[0-9]
0123456789
٠١٢٣٤٥٦٧٨٩
在Python样式的regex中,\d匹配任何单个数字。如果您看到的东西似乎没有做到这一点,请提供您正在使用的完整regex,而不是仅仅描述一个特定的符号。
>>> 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匹配大多数regex语法样式(包括python)中的任何单个数字。 Regex Reference
[0-9]
并不总是等同于\d
。在python3中,[0-9]
只匹配0123456789
字符,而\d
匹配[0-9]
和其他数字字符,例如东部阿拉伯数字٠١٢٣٤٥٦٧٨٩
。在Python样式的regex中,
\d
匹配任何单个数字。如果您看到的东西似乎没有做到这一点,请提供您正在使用的完整regex,而不是仅仅描述一个特定的符号。\d
匹配大多数regex语法样式(包括python)中的任何单个数字。 Regex Reference相关问题 更多 >
编程相关推荐