python - python用匹配的相同值替换字符串中的匹配项
问题描述
我有一个不可用于 json.dump() 的字符串,我需要对其进行编辑。我需要将数字替换为字符串 from 0:
to"0:"
例如。与后面1
的其他数字相同。
该字符串不时更改,数字也会更改
{"aclList": {0: {"sequence": {1: {"counterData": …etc etc
必须变成:
{"aclList": {"0": {"sequence": {"1": {"counterData": …etc etc
我相信我需要\d:
用他自己加上 qoutes 来查找和替换匹配项""
解决方案
这应该可以解决您 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”中。
推荐阅读
- c# - 为什么我动态添加的事件处理程序没有持续触发
- html - 显示模态时模糊div中的内容?
- amazon-dynamodb - 为什么 dynamoose 只在很短的时间内存储数据?
- javascript - 浏览器自动完成的字段不更新 Angular 绑定变量
- bash - 术语陷阱(Bash)是否比编程中的通用“回调”术语更准确?
- mongodb - mongodb json验证在独立的mongo中不起作用
- azure-data-factory - 通过 ADF V2 到 ADLS Gen2 的本地 SQL 服务器
- android - 持续的 Firebase 数据库在方向更改时崩溃
- excel - 忽略为空的标准。有办法吗?
- python - 在本地运行我的工作 webapp,但无法访问正确的站点