容许引文字符串中出现转义引号

本文介绍了一种使用反向预搜索技术来处理JSON字符串的方法,具体实现为在字符串中过滤掉特定的双引号,同时避免对转义字符进行处理。通过这种方式可以有效地对JSON数据进行预处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

期望:字符串中过滤掉 " 号, 不过滤 \"
[quote]
反向预搜索:"(?<=xxxxx)","(?<!xxxxx)"

这两种格式的概念和正向预搜索是类似的,反向预搜索要求的条件是:所在缝隙的 "左侧",两种格式分别要求必须能够匹配和必须不能够匹配指定表达式,而不是去判断右侧。与 "正向预搜索" 一样的是:它们都是对所在缝隙的一种附加条件,本身都不匹配任何字符。
[/quote]

经过围观以下资料
[url]http://www.regexlab.com/zh/regref.htm[/url]
[url]http://mba.shengwushibie.com/itbook/BookChapter.asp?id=14853[/url]
得出一段代码:

/**
* 将JSON里出现的引号替换为\u0001字符
* 对于字符串中的转义符不做处理,比如:\" 或者\'等等
* @param jsonString
* @return
*/
public static String replaceSemicolon(String jsonString){
return jsonString.replaceAll("(?<!\\\\)\"", rowStrDelimit); //反向预搜索,左侧不匹配\
}


被麻烦的东西都改该记录下。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值