如何知道Python中多个使用匹配字符串的正则表达式模式

时间:2015-09-09 14:24:02

标签: python regex

我匹配多个正则表达式模式与非常长的字符串(最多10个字符)。有没有办法知道我的哪些正则表达式模式报告在Python中匹配?或者我应该为每个模式分别做正则表达式?

pat=re.compile('C[GT]GG|A[AT]TA|T[TG]TA')
for m in pat.finditer(longString):
  print m.start(), m.end()
  # how to know which pat matched? 

1 个答案:

答案 0 :(得分:1)

您可以使用

m.group()

查看正则表达式的哪一部分符合您的输入。

>> for m in pat.finditer('pat290'):
...     print m.start(), m.end(), m.group()
...
0 4 pat2

>>> for m in pat.finditer('pat3789'):
...     print m.start(), m.end(), m.group()
...
0 4 pat3

>>> for m in pat.finditer('some-pat1234567'):
...     print m.start(), m.end(), m.group()
...
5 9 pat1