python奇怪的re.match行为

时间:2015-01-01 20:57:54

标签: python regex

我似乎遇到了一些奇怪的python正则表达式行为:

Python版

python -V
Python 2.7.3

系统

uname -a
Linux REVO-VPN-01 3.2.0-4-amd64 #1 SMP Debian 3.2.54-2 x86_64 GNU/Linux

re.Match找到匹配代码

import re
print re.match(r"(|.+)(?P<nums>\d{4})", "some text 2345")

re.Match查找匹配输出

<_sre.SRE_Match object at 0x2fe3690>

re.match找不到任何匹配代码

import re
print re.match(r"(?P<nums>\d{4})", "some text 2345")

re.match找不到任何匹配输出

None

唯一的区别是删除(|。+)本质上是无关紧要的。有人可以解释为什么会这样。我不能为我的生活弄明白。

0 个答案:

没有答案