首页 > 解决方案 > python用匹配的相同值替换字符串中的匹配项

问题描述

我有一个不可用于 json.dump() 的字符串,我需要对其进行编辑。我需要将数字替换为字符串 from 0:to"0:"例如。与后面1的其他数字相同。

该字符串不时更改,数字也会更改

{"aclList": {0: {"sequence": {1: {"counterData": …etc etc

必须变成:

    {"aclList": {"0": {"sequence": {"1": {"counterData": …etc etc

我相信我需要\d:用他自己加上 qoutes 来查找和替换匹配项""

标签: pythonjsonregex

解决方案


这应该可以解决您 99% 的问题:

(?<={)(\d+)(?=:)

https://regex101.com/r/96ReYn/1/(代码见https://regex101.com/r/96ReYn/1/codegen?language=python

  • (?<={)- 确保前一个字符是一个开放的大括号
  • (\d+)- 抓住所有数字
  • (?=:)- 确保下一个字符是冒号

它将失败的 1% 用于数据,例如"I'm going to mess {3: up your day"希望它不存在于您的“JSON”中。


推荐阅读