【问题标题】:Using a regex expression to parse information between brackets [duplicate]使用正则表达式解析括号之间的信息[重复]
【发布时间】:2018-07-11 23:54:16
【问题描述】:

我正在尝试使用正则表达式解析信息,它的布局类似于 json。我这样做的部分问题涉及识别大括号对。

group = {
    field = element
    innergroup = {
        field = element
        field = element
    }
    field = element
    innergroup = { field = element }
}

array = { field = element }

解决这个问题的第一步是识别内部组,括号内没有大括号的材料。在上面的例子中:

innergroup = {
    field = element
    field = element
}
#and
innergroup = { field = element }
#and
array = { field = element }

我试图通过使用一些不同的正则表达式命令来找到这些内部组。这是我得到的最接近的。

\{.*?\}

我知道这与“。”这一事实有关。字符表示除换行符之外的所有字符。我还必须想办法排除大括号中的字符。

[更新]

以前的问题已经询问了当大括号都在一行时如何执行此操作。但是,这并没有解决这个内部群体。

innergroup = {
    field = element
    field = element
}

其他问题也没有考虑到有很多大括号的事实,因此其他正则表达式函数会找到类似的东西。

group = {
    field = element
    innergroup = {
        field = element
        field = element
    }

感谢任何帮助。谢谢。

【问题讨论】:

标签: regex


【解决方案1】:

使用否定字符类:

\{[^{}]*?\}

[^{}] 表示“除大括号外的任何字符”(不需要转义)。

live demo

【讨论】:

    猜你喜欢
    • 2015-12-30
    • 2011-09-05
    • 2018-09-26
    • 2014-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-20
    • 2013-05-04
    相关资源
    最近更新 更多