You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何移除被双引号包裹的连续右大括号后的双引号?

解决Python正则移除特定包裹的末尾转义双引号问题

直接调整正则表达式,通过捕获组保留需要的内容,替换掉目标末尾的"即可,代码如下:

import re
my_string= r'abc"}"abc"}}"abc"}}}"abc"}}}}"abc"{abc}"'
# 捕获开头的"和所有连续},替换时仅保留该捕获内容
result = re.sub(r'("}+)"', r'\1', my_string)
print(result)

逻辑说明

  • 正则表达式r'("}+)"'中:
    • ()定义了第一个捕获组,内部的"}+匹配开头的转义双引号加上一个或多个连续的右大括号;
    • 后面的"是我们需要移除的目标末尾转义双引号。
  • 替换字符串r'\1'代表引用第一个捕获组的内容,也就是保留"和所有连续的},直接去掉后面多余的"。

运行后输出结果完全符合你的期望:

abc"}abc"}}abc"}}}abc"}}}}abc"{abc}"

同时这个正则不会误匹配包含其他字符的情况(比如"{abc}"),因为它只匹配连续的},符合你的需求。

内容的提问来源于stack exchange,提问作者Yob

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 00:31:39