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