我不是正则表达式专家。因此,我的技能被打败了。考虑以下文本:
[SectionTitle0]
...
Name: NameOfTechC
...
[SectionTitle1]
...
Name: NameOfZoneC
...
我对使用regex提取Tech-C和Zone-C的名称很感兴趣。这看起来像是一个配置节参与方,不过我可能会使用一个库来解析配置。但是这个摘录是一个更大文件的一部分。因此,配置解析器在这里不起作用。你知道吗
目前,我用Name:\s?(.+)
提取名称。在python中使用re.findall
返回一个包含这两个名称的列表。有没有办法用
TechC_name: regex1
ZoneC_name: regex2
返回Tech-C名称或Zone-C名称的列表?你知道吗
[更新]
我想澄清几点。“Name:”的位置不是固定的,因此可能在条目之前和之后列出相同的点。我更新了我的问题。你知道吗
我认识到有时SectionTitle0(前'Tech-C')和SectionTitle1(前'Zone-C')是相同的。这就更复杂了。可能有一种方法可以构建一个符合第一次出现的'Name:'的正则表达式,以及一个与第二次(或第n次)出现的'Name:'匹配的正则表达式。你知道吗
您可以获得以下格式的输出容易:-你知道吗
通过遵循regex imple心理状态:你知道吗
输出为:-
正则表达式:
有效地将节标题和名称捕获到组
\1
和\2
。你知道吗实施
您要查找的两个正则表达式是:
技术单位名称:
区域名称:
相关问题 更多 >
编程相关推荐