Python 2.7 使用正则表达式获取匹配单词的索引
我需要一个代码来搜索单词(AIR-*)的一部分,该部分在字符串中重复,然后返回其所有索引 我尝试了下面的代码,但我坚持用re来获取所有匹配的单词索引的方法 进口稀土 def main(): crt.Screen.Synchronous=TruePython 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:
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])