Вы можете немного изменить рефакторинг:
a, b = (var.group() if var is not None else None for var in (a,b) )
Это сохраняет значение a, если это, например, 0. Это конец вашего запроса.
Однако через некоторое время я пришелс этим предложением, учитывая контекст:
import re
target = """"Id","File","Easting","Northing","Alt","Omega","Phi","Kappa","Photo","Roll","Line","Roll_line","Orient","Camera"
1800,2008308_017_079.tif,530658.110,5005704.180,2031.100000,0.351440,-0.053710,0.086470,79,2008308,17,308_17,rightX,Jen73900229d
"""
print target
regs=(',(.*.tif)',',(left.*)',',(right.*)')
re_results=(result.group()
for result in ((re.search(reg, target)
for reg in regs)
)
if result is not None)
print list(re_results)