Почему следующий код не совпадает со словом ВЫБЕРИТЕ?Почему подходящая группа существует, но на самом деле не соответствует?
import re
re_q = r'(\d{4})-(\d{2})-(\d{2})\s(\d{2}):(\d{2}):(\d{2})\.*\d*\+\d{2}\s|\s(SELECT).*'
raw_q = "2014-01-23 15:28:32.993995+04 | SELECT query_start, query from pg_stat_activity WHERE state='active'"
m = re.match(re_q, raw_q)
for i in range(1, 8):
print "Group <{0}>: {1}".format(i, m.group(i))
Выход:
Group <1>: 2014
Group <2>: 01
Group <3>: 23
Group <4>: 15
Group <5>: 28
Group <6>: 32
Group <7>: None
Может быть, вам нужно использовать [ 're.findall'] (http://docs.python.org/2/library/re.html#re.findall), так как он соответствует в [втором раунде] (http://regex101.com/r/bN9fH1). – HamZa