-3

我们需要使用正则表达式来查找表达式是否正确,它还包括检查“if statements”的格式,例如:case1:

 if(x==1)
   x = x+1;

会说正确。案例2:

else x=x+1;

会说假,因为“如果部分”丢失了

4

2 回答 2

1

您无法使用正则表达式解析代码。

想想以下,你有一个简单的数学表达式:

((x+y))+z...

任意多的括号,你将如何将它与正则表达式匹配?你需要某种形式的记忆,而普通语言没有。

你不能。更正式地说,可以证明(使用 pidgeon-hole 原理)语言A*B*(其中 * 是Kleene 星号)是不规则的。(不止如此,regex的常见方言无法解析)

于 2013-04-07T14:33:38.243 回答
0

正则表达式不是正确的工具。你会想要更接近解析器生成器的东西。

于 2013-04-07T14:33:50.347 回答