1
3
好吧,这个编辑删除了标记中的花括号,并消除了问题中的刺痛,现在使用平衡组在.Net正则表达式中很容易实现。它只是匹配大括号,这是一个基本的例子。
有关更多详细信息,请参阅本文: Regex Balancing Group in Depth |
2
4
语法可以写成
看到了吗
http://www.ideone.com/SnGsU
(当然,不要在工作中尝试:)) (顺便说一句,我不知道如何将这个PCRE转换成.NET风格。如果有人知道,请试一试 Converting PCRE recursive regex pattern to .NET balancing groups definition ) |
3
2
|
4
1
不过,解决方法更简单:只需保留一个开括号数的计数器,并确保它不会降到0以下。它比维护堆栈节省更多内存,而且您只需要括号的计数,而不需要括号的内容。 算法:
|
Håkon Hægland · 如何为语法的动作类添加默认方法? 6 年前 |
Eddtothefullest · 解决这种转变/减少快乐/野牛的冲突 6 年前 |
Zac Uwyo H · 生成语言L的BNF语法 7 年前 |
user9193072 · 用泵引理证明语言的非正则性 7 年前 |
JesseBuesking · 柠檬解析器减少错误 8 年前 |
DainDwarf · 在antlr4中精确分析n个参数 9 年前 |
Angel Todorov · 具有非贪婪规则的ANTLR 9 年前 |
Zhao · 困惑于将模棱两可的语法转换为明确的语法 9 年前 |