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)
-
是减号本身,?
标记可能有一个或零个减号(换句话说,它是可选的)。