Skip to main content
 首页 » 编程设计

python之冗余 If 语句和正则表达式

2025年05月04日22xing901022

下面的代码显然是多余的,但根据我的经验,我经常使用这种模式。有没有更好的方法在 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()预编译正则表达式。