我试图用分隔符在多行文本中找到多个匹配项,以停止在python中使用regex进行搜索。。。如果我需要的都在同一行上,我的查询对于我要完成的任务很有效: 关于芬德尔('([a-zA-Z]{3}\d-[aAeE][rRsS]\d.*),输出)
问题是,有时我尝试捕获的附加数据不适合同一行,而是转到下一行。。。如果模式匹配找到下一个匹配或碰到分隔符(=在本例中),是否有方法将模式匹配设置为停止?下面有两个匹配的简化示例,我需要捕获这两个匹配的能力。。。在
示例
Port Id Description
3/2/4 Part of aggregate interface lag-4. Next device in path sea1-as2
lag-4, sea1-as2 3/1/2.
你提到了}。有几种方法可以设置
re.IGNORECASE这样
[a-zA-Z]
和{[ae][rs]
就足够了。在您没有明确表示您是在使用
re.MULTILINE
还是在评估regex之前删除新行。您以.*
结尾,它可能会变成如果您希望所有内容都达到
=
分隔符。在或者,在计算regex之前,您可以在
\n
换行和=
相等的位置拆分,这样就可以提交适当大小的块来进行计算。在似乎您所要做的就是添加
[\s\S]*?
以捕获下一行中出现的任何内容,并包括预期的停止, | .
以停止匹配。请注意,使[\s\S]*?
变懒是很重要的,否则,它将匹配所有内容。在输出
^{pr2}$相关问题 更多 >
编程相关推荐