1
我正在学习如何使用peg.js编写解析器并遇到一个独特的问题。我使用;
作为分隔符来对键值对中的字符串进行分类。无法解析Peg.js分析器中的分隔符
示例:如果要解析的字符串是name=prabesh;city=Bangalore
。我的解析器当前需要name
作为关键字,prabesh
作为值,city
作为关键字,bangalore
作为值。
问题是如果分隔符是字符串的一部分?
例如:city=bangalore;address=#12/1;santacruz
你怎么分析呢?
方法:搜索从第一=
搜索连续;
连续;
的 即再考虑=
和最后;
之间的文本作为值。
这种方法的问题是,如果该值本身具有=
那么解析器将无法正确解析它。
例如,失败:token=crbz23;4=134;
有什么建议?