在 JavaScript 中标记字符串
Anika Tabassum Era
2022年5月10日
JavaScript 令牌更像是一个单独扫描字符、表达式和字符串的可视化概念。
如果我们假设将 10+5
作为表达式,那么 lexer
(将每个有效字符区分为标记的过程)会将 10 定义为 Number
类型的标记,+
定义为 Plus
,和 5 作为数字
类型。
在所有字符都被标记化,更具体地分类之后,它们将被发送到解析。然后解析器规则将指定标记来定义表达式。
可以关注这个链接以获得更详细的解释。我们将考虑一个涵盖 JavaScript 中令牌概念的示例。
在 JavaScript 中使用 split()
方法标记字符串
我们将遵循词法分析器和解析器规则来定义以下示例中的每个单词。全文将首先被扫描为按空格区分的单个单词。
然后,整个标记化组将被解析。这个概念为拆分字符串或任何表达式提供了逐步的方法。
抽象语法树
执行表达式的可视化。让我们深入代码以获得示范性解释。
var text = "Is not it weird to live in a world like this? It is a 42";
var words = text.toLowerCase();
var okay = words.split(/\W+/).filter(function(token) {
return token.length == 2;
});
console.log(okay);
输出:
因此,text
字符串被转换为小写,然后 split()
方法完成了分词的任务。
程序是抽象的,因此我们无法直观地确定内部工作流程。我们已经从标记中过滤掉了一些特定长度的单词。
Author: Anika Tabassum Era