首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何编写例程以转义JSON字符串中的双引号

问如何编写例程以转义JSON字符串中的双引号
EN

Unix & Linux用户
提问于 2019-06-06 05:35:38
回答 1查看 7.8K关注 0票数 1

我必须提高效率,这样我就不能使用像jq这样的工具来加载一个大的二进制可执行文件。我只想用字符串转义双引号,这样对JSON来说是安全的。这还不够好

代码语言:javascript
复制
echo ' bad \"  string"' | sed 's/"/\\"/g' 

因为它将转义已经转义的双引号。是否只有在双引号还没有转义的情况下才能替换它们?

EN

回答 1

Unix & Linux用户

发布于 2019-06-06 06:00:23

您大概只想转义",除非前面有\。

代码语言:javascript
复制
echo ' bad \"  string"' | sed -E 's/([^\]|^)"/\1\\"/g'

解释

这将与"匹配,但前提是它前面有[^\],即“除\之外的任何字符”(或行^的开头)。但是,由于这个新字符本身将被替换,我们需要在捕获组()中捕获它,然后再用匹配的\1替换它。在本例中,为了简单起见,我在-E中使用了扩展正则表达式。

票数 3
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/523203

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档