语法验证器

Syntax validator

本文关键字:验证 语法      更新时间:2023-09-26

我存储了一个文件,我正在用Javascript读取它。问题是,我想模拟一个语法验证器,但我不能得到一个好的结果。

syntax.txt:

class foo {
}

问题是我无法获取课堂内容。我所做的是验证是否存在类语句:

fileString.match('^class'g);

这返回给我:["class"],但我想得到foo { }和里面的所有东西。

这是可能的吗?

如果文件发生更改,会发生什么?类似于:syntax.txt:

class foo {
}
class bar {
}

谢谢!

您将无法使用regex验证编程语言,原因与您无法使用regex验证HTML相同。它不是常规

想象一下这个(伪代码):

class foo {
    function barbar() {
        if(foobar) {
            case(bar) {
                'x': ... break;
                'y':
                    if(foofoo) {
                        ...
                        return "}";
                    }
            }
        }
    }
}

您永远无法在regex中处理所有场景。你需要一个真正的解析器。您可以编写自己的库或使用库,但绝对不能依赖regex。