javascript - 语法验证器

标签 javascript syntax computer-science interpreter

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

语法.txt:

class foo {
}

问题是我无法获取类(class)内容。 我所做的是验证是否有类声明:

fileString.match(\^class\g);

这会返回我:["class"],但我想获取 foo { } 以及里面的所有内容。

这可能吗?

如果文件发生变化会发生什么?就像是: 语法.txt:

class foo {
}
class bar {
}

谢谢!

最佳答案

出于同样的原因,您将无法使用正则表达式验证编程语言 you can't validate HTML with regex 。这不是常规

想象一下(伪代码):

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

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

关于javascript - 语法验证器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20055630/

相关文章:

python - Python3 While语法错误

C 程序语法(未编译)

numbers - 定点数与 float

computer-science - 您最看重哪个计算机科学概念?

javascript - 服务器网页窗口-打开+打印+关闭

javascript - 下载 PowerBI embed 为 PDF

javascript - 用于 Javascript 对象的位移运算符

javascript - 在全局范围内使用 javascript 将点替换为 _?

javascript - 使用 jQuery/模块模式维护范围问题

algorithm - 沿树的边缘分布重量