![]() |
1
4
众所周知,C++是很难解析的;编写一个能够捕获所有案例的正则表达式是不可能的。例如,可以有无限数量的嵌套圆括号,这表明即使是C++语言的这一子集也不是规则的。
|
![]() |
2
2
看一看 Boost.Spirit 它是一个增强库,允许使用C++代码和没有预处理器实现递归下降分析器。您必须指定一个 BNF Grammar ,然后传递一个字符串供其解析。您甚至可以生成一个抽象语法树(abstractsyntax Tree,AST),这对于处理解析的数据非常有用。 BNF规范看起来像是一个整数或单词的列表,分开后可能看起来像:
有关更多信息,请参阅文档,该库在开始时有点复杂,但随后它变得更易于使用(而且功能更强大)。 |
![]() |
3
0
不可以。即使是函数原型也可以有任意级别的嵌套,因此不能用单个正则表达式来表示。 如果你真的把自己限制在非常接近你的例子的事情上(正好是2个参数,等等),那么你能提供一个不匹配的例子吗? |
|
Robert King · Unity C#语法问题-转换位置 1 年前 |
![]() |
JBryanB · 如何从基本抽象类访问类属性 1 年前 |
|
law · 检查答案按钮的输入字符串格式不正确 2 年前 |
![]() |
i_sniff_ket · 在unity之外使用unity类 2 年前 |