在python正则表达式搜索中返回任何匹配项的更好方法?
我正在运行一个简单的正则表达式搜索两个条件在python正则表达式搜索中返回任何匹配项的更好方法?,python,regex,search,Python,Regex,Search,我正在运行一个简单的正则表达式搜索两个条件Profile和BuildDate。 我想涵盖这样一种可能性,即我将同时找到两个结果、一个结果或没有结果,并返回尽可能多的信息。我是这样写的,但我想知道是否有一种更像蟒蛇的方式 p = re.search(r'Profile\t+(\w+)',s) d = re.search(r'BuildDate\t+([A-z0-9-]+)',s) # Return whatever you can find. if p is N
Profile
和BuildDate
。
我想涵盖这样一种可能性,即我将同时找到两个结果、一个结果或没有结果,并返回尽可能多的信息。我是这样写的,但我想知道是否有一种更像蟒蛇的方式
p = re.search(r'Profile\t+(\w+)',s)
d = re.search(r'BuildDate\t+([A-z0-9-]+)',s)
# Return whatever you can find.
if p is None and d is None:
return (None, None)
elif p is None:
return (None, d.group(1))
elif d is None:
return (p.group(1), None)
else:
return (p.group(1),d.group(1))
也是这样:
return (p and p.group(1), d and d.group(1))
这不太冗长,但有点晦涩。非常优雅,正是我想要的。谢谢
return (p and p.group(1), d and d.group(1))