创建正则表达式时遇到问题。我有一个这样的字符串(一个简单的json响应来自webserver):
{
"key1":valueInt1,
"key2":valueInt2,
[...]
"specialKey":"",
"subtitle":"Every kind of character, like char, num or punct",
"key3":"Useful line",
}
我想要的是删除键“specialKey”及其值和“subtitle”及其值。它们都可以为空(就像我的例子中的specialKey)。
我尝试过类似的东西:
(\"subtitle\"\:\")([:punct:]*[:space:]*[:word:]*)*(\",)
没有成功。错误是与我的随机句子匹配的部分([:punct:] [:space:] [:word:] )。
感谢您的帮助!
答案 0 :(得分:3)
JSON is not a regular language所以正则表达式不是这种操作的最佳工具。您最好使用JSON解析器来实现目标。
答案 1 :(得分:1)
字符类通常仅在括号表达式中使用。如果你改变了所拥有的东西:
(\"subtitle\"\:\")([[:punct:][:space:][:word:]]*)*(\",)
它应该有用。