Regex 这个案例的正则表达式是什么

Regex 这个案例的正则表达式是什么,regex,json,Regex,Json,我想从JSON返回的House表达式中获取SuperHouse值。 我试过豪斯:。+?但它不起作用 { type: "Benefits" members: [1] 0: { type: "Benefits2" House: { color: "red" name: "SuperHouse" Category: "big hoses" } } } 什么是正则表达式?如何: "Ho

我想从JSON返回的House表达式中获取SuperHouse值。 我试过豪斯:。+?但它不起作用

    {
    type: "Benefits"
    members: [1]
    0:  {
    type: "Benefits2"
    House: {
    color: "red"
    name: "SuperHouse"
    Category: "big hoses"
           }
        }
   }
什么是正则表达式?

如何:

"House" : "?([^,]*)"?
但是,再次使用解析器将使事情变得容易得多

编辑:仅使用regexp无法解析通用json片段。这是因为regexp与等效,但您需要更强大的功能来计算任意数量的打开/关闭符号,更像。

House:.+?不起作用,因为房产的值没有被引号括起来,并且在值和之间还有一个空格:。这些都是在构造正则表达式以从JSON属性获取值时必须考虑的问题。

如果您的JSON看起来是这样的,并且您只需要在这一次获得这个特定值,那么您可以使用House:*

无论您使用什么平台,都应该使用JSON解析器。许多语言/平台都有内置的JSON解析器,包括JavaScript和PHP。其他像Java这样的库有流行的和


如果您需要在bash/命令行中执行此操作,我建议您使用什么语言?使用正确的解析器。这不是有效的JSON。由于[],成员似乎是一个数组,但数组没有键:值对,只有一个简单的值列表。从有效的JSON开始,然后可能会有人提出建议。我只想用一次。因此,出于一般目的,我觉得不需要额外的库。我对Json做了一点修改,因为我认为您的解决方案适用于每家每户,但一旦我将Json修改为更现实的版本,您的表达式就不再有效了。好的。现在我明白你想要什么了,答案是你不能那样做。如果House的结构是一个任意的json对象,那么您就不能使用reg exp解析它,因为您需要能够计算开/闭括号的数量和开/闭花括号的数量。这在reg exp中是不可能的。