P
python_charmer2000
I want to match several regexps against a large body of text. What I
have so far is similar to this:
re1 = <some regexp>
re2 = <some regexp>
re3 = <some regexp>
big_re = re.compile(re1 + '|' + re2 + '|' + re3)
matches = big_re.finditer(file_list)
for match in matches:
span = match.span()
print "matched text =", file_list[span[0]:span[1]]
print "matched re =", match.re.pattern
Now the "match.re.pattern" is the entire regexp, big_re. But I want
to print out the portion of the big re that was matched -- was it re1?
re2? or re3? Is it possible to determine this, or do I have to make
a second pass through the collection of re's and compare them against
the "matched text" in order to determine which part of the big_re was
matched?
thanks!!
have so far is similar to this:
re1 = <some regexp>
re2 = <some regexp>
re3 = <some regexp>
big_re = re.compile(re1 + '|' + re2 + '|' + re3)
matches = big_re.finditer(file_list)
for match in matches:
span = match.span()
print "matched text =", file_list[span[0]:span[1]]
print "matched re =", match.re.pattern
Now the "match.re.pattern" is the entire regexp, big_re. But I want
to print out the portion of the big re that was matched -- was it re1?
re2? or re3? Is it possible to determine this, or do I have to make
a second pass through the collection of re's and compare them against
the "matched text" in order to determine which part of the big_re was
matched?
thanks!!