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

求可检测/删除最外层双引号的正则表达式

移除字符串首尾最外层双引号的正则表达式方案

刚好碰到过类似的需求,我来给你推荐几个合适的正则表达式方案,完全满足你只移除首尾最外层双引号、保留中间所有双引号的要求:

核心替换正则(精准匹配首尾引号)

如果你只需要处理那种明确首尾都是双引号的字符串,用这个正则就够了:

  • 正则表达式:^"(.*)"$
  • 替换为:$1(部分语言如Python需写成\1)

原理解释

  • ^":精准匹配字符串开头的第一个双引号
  • (.*):捕获中间的所有内容(包括中间的双引号、数字、字符等,不会受中间引号干扰)
  • "$:精准匹配字符串结尾的最后一个双引号

代码示例

JavaScript中使用:

const originalStr = '"111"222"333"222"111"';
const processedStr = originalStr.replace(/^"(.*)"$/, '$1');
console.log(processedStr); // 输出:111"222"333"222"111

Python中的用法:

import re
original_str = '"111"222"333"222"111"'
processed_str = re.sub(r'^"(.*)"$', r'\1', original_str)
print(processed_str) # 输出:111"222"333"222"111

扩展:兼容首尾含空白的情况

如果你的字符串可能前后带有空格(比如 "abc"def" ),想要同时去掉首尾空白和外层引号,可以用这个调整后的正则:

  • 正则表达式:^\s*"(.*)"\s*$
  • 替换为:$1

检测是否存在首尾外层引号

如果只是想判断某个字符串是否首尾都有双引号,用这个正则匹配即可:^".*"$


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 06:38:31