我发现在 123
中, \d
匹配 1
和 3
但不匹配 2
. 我想知道 \d
是否匹配满足什么样的要求的数字?我在谈论Python风格的正则表达式 .
Gedit中的正则表达式插件使用Python风格的正则表达式 . 我创建了一个文本文件,其内容为
123
只有 1
和 3
匹配正则表达式 \d
; 2
不是 .
通常对于其间没有其他字符的数字序列,只有奇数位数是匹配的,偶数位数不是 . 例如,在 12345
中,匹配为 1
, 3
和 5
.
5 回答
[0-9]
is not always equivalent 至\d
. 在python3中,[0-9]
仅匹配0123456789
个字符,而\d
匹配[0-9]
和其他数字字符,例如东方阿拉伯数字٠١٢٣٤٥٦٧٨٩
.\d
匹配大多数正则表达式语法样式中的任何单个数字,包括python . Regex Reference在Python风格的正则表达式中,
\d
匹配任何单个数字 . 如果您似乎这样做,请提供您正在使用的完整正则表达式,而不是仅仅描述一个特定符号 .\\d{3}
匹配Java中任何三位数的序列 .这只是一个猜测,但我认为你的编辑器实际匹配每一个数字 -
1
2
3
- 但只突出奇数匹配,以区别于整个123
字符串匹配的情况 .大多数正则表达式控制台突出显示不同颜色的连续匹配,但由于插件设置,终端限制或其他原因,在您的情况下,只有其他组可能会突出显示 .