我不是正则表达式专家。因此,我的技能被打败了。考虑以下文本:
[SectionTitle0]
...
Name: NameOfTechC
...
[SectionTitle1]
...
Name: NameOfZoneC
...
我有兴趣使用正则表达式提取 Tech-C 和 Zone-C 的名称。这看起来像一个 config-section-party,尽管我可能会使用一个库来解析配置。但这个摘录是一个更大文件的一部分。因此,配置解析器在这里不起作用。
目前,我用Name:\s?(.+)
. 在 python 中使用re.findall
会返回一个包含两个名称的列表。有没有办法使用类似的东西
TechC_name: regex1
ZoneC_name: regex2
返回 Tech-C 名称或 Zone-C 名称的列表?
[更新]
我想澄清一些观点。“名称:”的位置不固定,因此可能在条目之前列出相同的点,在条目之后列出相同的点。我更新了我的问题。
我认识到有时 SectionTitle0(以前的“Tech-C”)和 SectionTitle1(以前的“Zone-C”)是相同的。这使它有点复杂。可能有一种方法可以构建适合第一次出现的“名称:”和匹配第二次(或第 n 次)出现的“名称:”的正则表达式。