我需要找到正则表达式给我一个花括号的字符串,其中字符串也包含花括号。这是字符串就像
input{
stdin {
type => "stdin-type"
}
file {
type => "file"
}
}
output {
stdout { }
}
我想要的只是输入部分。我最近的尝试是:
input{([\s\S]*)\n}
这是有效的,当在最后一个花括号之前只有一对内花括号和换行符时,但情况可能并非总是如此。并且可能存在更多具有花括号的内部元素。所以我需要更灵活的东西。打开柜台或类似的东西。
我需要它用于javascript。
也许用正则表达式无法实现?
欢迎提示。
tmoe
答案 0 :(得分:0)
在正则表达式中使用逻辑来匹配嵌套模式可能会让你陷入噩梦,而正则表达式可能不是正确的工具。
基于你的正则表达式,我可以想出一些改变并使用这个:
input{([\s\S]*?)^}
<强> Working demo 强>
它将使用带}
的起始行作为结束分隔符,可以解决您的具体问题,但正则表达式可能不是您问题的最佳答案。