1
我正在學習如何使用peg.js編寫解析器並遇到一個獨特的問題。我使用;
作爲分隔符來對鍵值對中的字符串進行分類。無法解析Peg.js分析器中的分隔符
示例:如果要解析的字符串是name=prabesh;city=Bangalore
。我的解析器當前需要name
作爲關鍵字,prabesh
作爲值,city
作爲關鍵字,bangalore
作爲值。
問題是如果分隔符是字符串的一部分?
例如:city=bangalore;address=#12/1;santacruz
你怎麼分析呢?
方法:搜索從第一=
搜索連續;
連續;
的 即再考慮=
和最後;
之間的文本作爲值。
這種方法的問題是,如果該值本身具有=
那麼解析器將無法正確解析它。
例如,失敗:token=crbz23;4=134;
有什麼建議?