Python 2.7 使用正则表达式获取匹配单词的索引

Python 2.7 使用正则表达式获取匹配单词的索引,python-2.7,Python 2.7,我需要一个代码来搜索单词(AIR-*)的一部分,该部分在字符串中重复,然后返回其所有索引 我尝试了下面的代码,但我坚持用re来获取所有匹配的单词索引的方法 进口稀土 def main(): crt.Screen.Synchronous=True crt.Screen.Send('show cdp neig '+ '\r') JGR=crt.Screen.ReadString("#") strtolist=JGR.split(" ") king = [] for xxx in strtolist:

我需要一个代码来搜索单词(AIR-*)的一部分,该部分在字符串中重复,然后返回其所有索引

我尝试了下面的代码,但我坚持用re来获取所有匹配的单词索引的方法

进口稀土

def main(): crt.Screen.Synchronous=True

crt.Screen.Send('show cdp neig '+ '\r')
JGR=crt.Screen.ReadString("#")
strtolist=JGR.split(" ")
king = []
for xxx in strtolist:
    if xxx != "":
        king.append(xxx)
    else:
        continue

crt.Dialog.MessageBox(str(king))
z=[]
q=[]
word = "AIR-.*\w"
listostr = " ".join(king)
search= re.finditer(word,listostr)
crt.Dialog.MessageBox(str(search))
for ind,AP in enumerate(king):
    if AP == word:
        m = ind-5
        z.append(AP[m])
        n = ind-6
        q.append(AP[n])
    else:
        continue
crt.Dialog.MessageBox(str(z))
crt.Dialog.MessageBox(str(q))

#x=re.findall(word,JGR)
#crt.Dialog.MessageBox(str(x))
main()

这是我在其中搜索的文本 名称1 Gig 0/20 1 S I WS-C3750X Gig 姓名2 Fas 2/2 33 T B I空气帽26 Gig 0 名字3 Fas 1/3 14 T B I空气帽15 Gig 0 名字4 Fas 0/1 13 T B I AIR-LAP12 Gig 0
结果是,如果我找到了AIR-*单词,那么从它的索引中我可以转到接口索引(Gig 0/20,Fas 2/2.Fas 1/3.Fas 0/1)并将其添加到列表中

我找到了解决方案,但需要一个增强功能,即在获得索引后,我需要在该索引之前再次搜索单词Fas,而不是使用固定的索引移动 word=“空气-.*\w”

for ind,AP in enumerate(king):
    if re.search(word, AP):
        m = ind-5
        z.append(m)
        n = ind-6
        q.append(n)
    else:
        continue

for i in z:
    AP1.append(king[i])

for o in q:
    AP2.append(king[o])


for H in range (len(AP1)):
    fin.append(AP2[H] + AP1[H])