在 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