我存储了一个文件,我正在使用 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/