这是一个语法检查器。(是的,我知道使用正则表达式并不理想)读者已经检测到它在int
| float
| char
| bool
部分,现在它需要检查声明和初始化是否在语法上有效。ff 是我的条件应该通过的 str 样本。
a;
a, _b2;
a, _b2=0;
a=1, _b2=0;
a=1+1, _b2=a+1, c, d=555, e;
a=2.33;
a='a', b=3;
a="asb", b='3';
a=true, b=false, c="false";
不应该通过:
a= , b2 = 1;
a = ;
a = '23;
a = 50, b = a+1
a = a.23;
我提出的条件在看到时不匹配,=
您能帮我纠正一下我的条件吗
^(\s*[A-z_][A-z0-9]*\s*(=\s*0-9|=\s*"[^]*"|=\s*'[^]*')?\s*,)*\s*[A-z_][A-z0-9]*\s*(=\s*0-9|=\s*"[^]*"|=\s*'[^]*')?\s*;
更新:考虑浮动值
更新:使其成为适用于 int、float、char 和 boolean 值的通用正则表达式