【发布时间】: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
}
感谢任何帮助。谢谢。
【问题讨论】:
-
尝试 DOTALL 标志:
(?s)\{.*?\}
标签: regex