本文介绍了正则表达式用于匹配花括号的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在寻找一个仅当所有花括号正确匹配时才匹配的正则表达式。可以嵌套匹配的花括号。
I'm, looking for a regular expression that will match only when all curly braces properly match. Matching braces can be nested.
例如。
匹配项
Ex.Matches
- 你好{0} {}
- 你好,关注以下{0 }:{{Object1}},{{Object2}}
- 测试{{1} {{2} {{3} {{4}}}}}
不比赛
- } {你好{0}
- {{}您好,以下{0}:{{Object1}},{{Object2}}
- Test {{1} {{ 2} {{3} {{4} {}
推荐答案
在.NET中,您可以使用进行计数,
In .NET you can use balancing groups to count, which allows you to solve such problems.
例如,确保 {
和}
是平衡的,您可以使用以下表达式:
For example make sure {
and }
are balanced you could use an expression like:
(?x)^
[^{}]*
(?:
(?:
(?'open' \{ ) # open++
[^{}]*
)+
(?:
(?'close-open' \} ) # open--, only if open > 0
[^{}]*
)+
)*
(?(open) (?!) ) # fail if open != 0
$
这篇关于正则表达式用于匹配花括号的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!