peg.jsを使用してパーサーを書く方法を学習しており、ユニークな問題が発生しました。私は;
をデリミタとして使用して、文字列をキー値のペアに分類しています。Peg.jsパーサーで区切り文字を解析できません
例:解析する文字列がname=prabesh;city=Bangalore
の場合。私のパーサは現在、キーとしてname
をとり、を値とし、city
をキーとし、bangalore
を値とします。
デリミタが文字列の一部である場合はどうですか?例えば
:city=bangalore;address=#12/1;santacruz
どのようにあなたがそれを解析することができますか?
アプローチ:連続し;
のための最初の=
検索からの連続;
の すなわちを検索し、その値として=
と最後;
間のテキストを検討してください。
この方法の問題点は、値そのものに=
があると、パーサが正しく解析できないことです。
例えば、これは失敗します。token=crbz23;4=134;
任意の提案ですか?