使用re.finditer时获取不匹配的字符串

时间:2015-07-07 18:24:55

标签: python regex

我的简单配置文件由分组为块的参数组成。像这样:

param1: 1,2,3
param2: foo

param1: 4,5,6
param2: another_foo

我在Python中编写了一个regexp并使用re.finditer方法迭代这些参数块以进行解析然后添加到数据库中。

问题是,如果块不正确,因此与我的正则表达式不匹配,它会被静默跳过。

我想要的是检测这样的坏块并通知用户他在块x的某个地方有错误。

在使用match()迭代块之前,我是否必须使用finditer方法?或者有更全面的解决方案?

2 个答案:

答案 0 :(得分:0)

我认为发现者并不适合你想要做的事情,因为它只返回跳过中间任何东西的匹配。如果我理解正确,我认为你应该拆分空行,然后迭代运行git rm并正确报告的块。

答案 1 :(得分:0)

我知道这是一个旧线程,但如果有人仍然对如何使用 re.finditer 进行粗略的错误检测感兴趣,请查看 this link 并提供一个很好的示例,说明如何使用命名组作为命名标记以及我如何使用同一个示例实现简单错误检测的答案。

相关问题