下面的代码显然是多余的,但根据我的经验,我经常使用这种模式。在python中有没有更好的方法来做到这一点?
if re.search("at (\d{1,2}):\d{2}", p):
a=re.search("at (\d{1,2}):\d{2}",p).group(1)
下面的代码显然是多余的,但根据我的经验,我经常使用这种模式。在python中有没有更好的方法来做到这一点?
if re.search("at (\d{1,2}):\d{2}", p):
a=re.search("at (\d{1,2}):\d{2}",p).group(1)
是的,它是多余的;您应该将结果分配search()
给一个变量,而不是调用它两次:
m = re.search("at (\d{1,2}):\d{2}", p)
if m:
a = m.group(1)
或者可能
a = m.group(1) if m else some_default_value
此外,如果您要经常使用此模式,请考虑使用re.compile()
预编译正则表达式。
保存第一次搜索并检查其布尔含义:
res = re.search (...)
if res:
a = res.group (1)