app*_*ver 1 python regex if-statement
以下代码显然是多余的,但根据我的经验,我经常使用这种模式.有没有更好的方法在python中执行此操作?
if re.search("at (\d{1,2}):\d{2}", p):
a=re.search("at (\d{1,2}):\d{2}",p).group(1)
Run Code Online (Sandbox Code Playgroud)
是的,这是多余的; 你应该将结果search()赋给变量而不是调用它两次:
m = re.search("at (\d{1,2}):\d{2}", p)
if m:
a = m.group(1)
Run Code Online (Sandbox Code Playgroud)
或者可能
a = m.group(1) if m else some_default_value
Run Code Online (Sandbox Code Playgroud)
此外,如果您要经常使用此模式,请考虑使用re.compile()预编译正则表达式.