Regex,用于获取包含多个内部大括号的外部大括号中的字符串

Regex for getting string in outer curly braces containing multiple inner curly braces

本文关键字:外部 字符串 内部 用于 获取 包含多 Regex      更新时间:2023-09-26

我需要找到正则表达式,为我提供一个大括号字符串,其中该字符串还包含大括号。这是字符串类似

input{
    stdin {
     type => "stdin-type"
       }
    file {
     type => "file"
      }
}
output {
      stdout { }
}

例如,我想要的只是输入部分。我最近的尝试是:

input{(['s'S]*)'n}

当只有一对内部大括号和最后一个大括号之前的换行符时,这是有效的,但可能并不总是这样。而且可能还有更多带有花括号的内部元素。所以我需要更灵活的东西。柜台敞开的东西或类似的东西。

我需要它来编写javascript。

也许它不能用regex制作??

欢迎想法。

tmoe

在正则表达式中使用逻辑来匹配嵌套模式可能会让您陷入噩梦,而正则表达式可能不是实现这一点的合适工具。

基于您的正则表达式,我可以提出一些更改并使用以下内容:

input{(['s'S]*?)^}

工作演示

它将使用}作为结束分隔符的起始行,这可以解决您的特定问题,但是regex可能不是解决您问题的最佳答案。