如何检查字符串中的所有“字符是否都被转义

时间:2015-02-17 02:51:42

标签: java json

我还没有在网上找到任何可以帮助我的信息,也可能是我对Regex表达方式的了解有所阻碍。

我想检查是否所有"字符串中的字符被转义。以此字符串为例。

\"\"This is the first sentence\"
\"This is the second sentence\"
\"This is the third sentence\"\"

2 个答案:

答案 0 :(得分:2)

向字符串添加前导["并尾随"],然后尝试将其解析为JSON。如果所有内容都被正确转义,则不会出现解析错误。如果要从源代码检查字符串而不运行代码,可以使用http://json.parser.online.fr/上的在线解析器。

答案 1 :(得分:0)

如果没有转义任何报价,以下正则表达式将匹配:

(^|[^\\])(\\\\)*"

说明:

(              <- first group
 ^             <- beginning of string
 |             <- or
 [^\\]         <- non-backslash character
)              <- first group
(\\\\)*        <- zero or more occurrences of exactly two backslashes
"              <- quote

英文:在字符串的开头或非反斜杠之后,匹配偶数个反斜杠,后跟引号。