【发布时间】:2021-06-02 03:21:48
【问题描述】:
我有一个文本文件。它的内容可能是纯文本或 JavaScript 源代码。我需要一种高效且高精度的方法来检测文本文件是否包含纯文本或 JavaScript 代码。
我的方法: 我试图为此提取特定于语法的关键字、标点符号、运算符、基于正则表达式的循环检测。我将所有值相加,然后除以文件的长度,得到一个特定的比率。假设比率大于 0.2,那么文件是 JavaScript,否则是纯文本。我遇到的问题是基于正则表达式的循环检测。文件大小 > 1 兆字节花费了太多时间,因此我放弃了这种方法。
任何资源或方法将不胜感激。谢谢。
【问题讨论】:
-
这是一个非常高级的想法。您可以使用 nlp 方法(机器学习)。在一堆 javascript 语句/文档以及普通文本上训练模型。
-
是的,这是我的备份选项。但问题是我的应用程序有很多内存限制。我一直在寻找一种更静态的方法。但无论如何感谢您的建议@QuantumDreamer
-
假设 javascript 代码根本没有任何错误,我会尝试在一堆编程语言下运行代码,只有 javascript 会出现错误。但这可能有很多漏洞并且需要很长时间......只是一个想法
-
使用 nlp 有什么特别的原因吗? Javacsript不是自然语言,所以有更好的选择。例如这是一个定义明确的语法,那么为什么不直接通过 Javascript 解析器呢?
-
我也考虑过这一点,但我正在研究的 JavaScript 实际上是恶意软件。执行它会在我的本地 PC 上出现一些问题。我必须在特殊的沙箱环境中执行它,但这会产生很多开销。
标签: javascript python nlp