是否可以编写与未出现次数的嵌套模式匹配的正则表达式?例如,当外括号内嵌有未知数量的打开/关闭括号时,正则表达式是否可以匹配开括号和右括号?
例如:
public MyMethod()
{
if (test)
{
// More { }
}
// More { }
} // End
Run Code Online (Sandbox Code Playgroud)
应该匹配:
{
if (test)
{
// More { }
}
// More { }
}
Run Code Online (Sandbox Code Playgroud) 我不是Regex的专家.我正在尝试创建一个正则表达式,它将匹配完全相同数量的开始和结束括号,但我很难过如何做到这一点.
一个例子:
nothing: important, a b { c {{{ a another {{ nothing }} }}} }
Run Code Online (Sandbox Code Playgroud)
要么:
one { two {{ error, forgot ending brace }}
Run Code Online (Sandbox Code Playgroud)
问题是我不知道我预先会得到多少支撑.在第一个例子中,我需要获取文本{ c {{{ a another {{ nothing }} }}} }.在第二个我需要得到{{ error, forgot ending brace }}.
甚至可以创建一个匹配规则来执行此操作吗?(我正在使用Qt Regex引擎).