使用python提取索引正则表达式

时间:2017-07-04 06:53:15

标签: regex python-3.x

我正在尝试获取某些字符串及其索引。但我总是只得到第一个的索引。任何人都可以告诉我,我做错了什么? Thnks

这是我写的:

import re 

f = open("topology_seq.txt")

strToSearch = ""
for line in f:
    strToSearch += line

patFinder = re.compile("I(L|p)")

findpattern = re.search(patFinder, strToSearch) 

findpattern1 = re.findall(patFinder, strToSearch)

for i in findpattern1:
    print(i), 
    print (findpattern.end())

输出: 大号 143 p 143 大号 143

1 个答案:

答案 0 :(得分:0)

您可以使用finditer方法。

itr = re.finditer(patFinder, strToSearch)
indexes = [match.start(0) for match in itr]
  

re.finditer(pattern,string,flags = 0)

     

返回一个迭代器,在字符串

中的RE模式的所有非重叠>匹配上产生MatchObject实例