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

如何提取含嵌套引号的字符串?正则匹配问题求助

解决方案

要正确提取目标子串,关键是处理引号内的转义(同类型双写引号),同时无需硬编码DEFAULT标识,可用以下正则表达式:

(['"`])(?:(?!\1).|\1{2})*\1

正则说明:

  • (['"]):捕获开头的引号(单/双/反引号)到分组1,后续用\1`引用该引号类型
  • (?:(?!\1).|\1{2})*:非捕获组,匹配两种情况任意次:
    • (?!\1).:任意不是当前引号的字符
    • \1{2}:两个连续的当前引号(代表转义的单个引号)
  • \1:匹配结束的同类型引号

这个正则会自动在第一个未被转义的结束引号处停止匹配,不会误包含后面的DEFAULT ''部分。

将其应用到目标字符串:

'"double quotes" are allowed inside ''single-quoted'' strings.' DEFAULT ''

会精准匹配到:

'"double quotes" are allowed inside ''single-quoted'' strings.'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 02:22:06