如果我使用re.finditer(),我如何限制python regex中的出现次数?



我正在编写一个python脚本,需要通过一个文件并找到某些段落。我能够使用正则表达式成功匹配模式,但是,相同段落出现的次数大于1。我只需要打印出段落的第一次出现。

我是否可以在正则表达式中添加任何只返回第一个出现项的内容?

这是我的正则表达式到目前为止…pattern = re.compile(//#|//s#).+[Ss],然后我做matches = pattern.finditer(file_name),最后我遍历一个for循环并打印print(i.group())。注意:我使用finditer()而不是findall()的原因是因为我需要它作为字符串而不是列表打印出来。

任何指导,我如何可以调整我目前的方法,只产生第一个匹配的段落将是伟大的!

您可以简单地使用.search而不是.finditer,例如

import re
text = 'A1B2C3'
pattern = re.compile(r'([0-9])')
found = pattern.search(text).group()
print(found)  # 1
print(isinstance(found,str))  # True

最新更新