Python 3.3中的一个小程序有问题,它应该从字符串返回一个数字。
虽然它对积极的价值观很有效,

text = "XXXXXXX\nDateMinEnd=230\nXXXXXXX\n"
Dmin = re.search('(?<=DateMinEnd=)\w+',text)
Dmin_res = int(Dmin.group())
print(Dmin_res)
230

负值有“无”结果:
text = "XXXXXXX\nDateMinEnd=-230\nXXXXXXX\n"
Dmin = re.search('(?<=DateMinEnd=)\w+',text)
Dmin_res = int(Dmin.group())

'NoneType' object has no attribute 'group'

我真的是一个初学者,所以我希望得到任何提示(当然,在问你之前,我已经看过了http://docs.python.org/2/library/re.html,尝试了原始字符串和一些特殊的转义,但不幸的是,我找不到解决方法)。提前谢谢你。
安德烈亚斯

最佳答案

尝试在正则表达式中添加可选减号:

Dmin = re.search('(?<=DateMinEnd=)-?\w+', text)

-是减号本身,?标记可能有一个或零个减号(换句话说,它是可选的)。

10-07 21:53