0
我正在尝试解析配置文件并在Web UI上显示输出。但是,我写的一些正则表达式会返回额外的结果。例如,正则表达式匹配以精确单词而非类似单词结束的行
lbvs = lb-vs-pr-443-v1-abhishek
lb_vserver_binding = '^bind\s+lb\s+vserver\s+%s\s+([^\s+]+)' %(lbvs)
for line in lb_file_memory:
if re.match(lb_vserver_binding, line):
grouped_data = re.search(lb_vserver_binding, line).groups()
data = grouped_data[0]
return data
这将返回结果,但也会导致额外的输出。 例如,
绑定磅的vserver LB-VS-PR-443-V1-阿布舍克巴克LB-SG-PR-443-V1-阿布舍克巴克
绑定磅的vserver LB-VS-PR-443 -V1-阿布舍克代理LB-SG-PR-443-V1-阿布舍克代理
它应该只返回第一个记录,直到阿布舍克但它也返回阿布舍克代理
我应该如何限制这种?
请提供相同的建议。
你能更详细地描述你想搭配什么?说它应该匹配第一行而不是第二行是不够的。 – CAustin
因此,当lbvs是'lb-vs-pr-443-v1-abhishek'时,我希望它只匹配以abhishek结尾的条目,就像返回的第一行有'lb-sg-pr-443-v1-abhishek ”。但是,它也会返回具有'abhishek-proxy','abhishek-st','abhishek-dc'的条目。 –
所以比赛应该以'bind'开始并以'abhishek'结束? – CAustin