我有以下要解析的字符串:
字段 1:值 1 覆盖字段 2: 价值 2.1 价值 2.2 字段 3: 价值 3 覆盖字段 4:值 4 字段 5:值 5
基本上,字段值对由冒号分隔,并且字段(并不总是以“Field ...”开头)从新行开始,后跟冒号。我想提取被覆盖的字段值对,所以我可以有两个(或多个)字符串:一个作为“覆盖字段 2:...值 2.2”,一个作为“覆盖字段 4:值 4”。
我不知道有多少覆盖字段,但它们都以“覆盖”开头。我不确定分组是否有帮助。
我能想到的最好的方法是使用 re.findAll() 搜索“Overriden[^:] :[^:] :?”的出现,所以我会得到两个结果:
- 覆盖字段 2:...字段 3:
- 覆盖字段 4:...字段 5:
然后我将不得不砍掉最后一部分“\n[^:]*:”。这看起来并不聪明。
有人想给点建议吗?