peg.js를 사용하여 파서를 작성하는 방법을 배우고 있으며 고유 한 문제가 발생했습니다. 나는 ;
을 구분 기호로 사용하여 키 값 쌍의 문자열을 범주화합니다.Peg.js 파서의 구분 기호를 구문 분석 할 수 없습니다.
예 : 구문 분석 할 문자열이 name=prabesh;city=Bangalore
인 경우. 파서는 현재 name
을 키로 사용하고 prabesh
을 값으로 사용하고 city
을 키로 사용하고 bangalore
을 값으로 사용합니다.
구분 기호가 문자열의 일부인 경우 질문은 무엇입니까? city=bangalore;address=#12/1;santacruz
어떻게 당신이 그것을 구문 분석 할 수 있습니다 : 예를 들어
?
접근 : 연속 ;
에 대한 첫 =
검색에서 연속 ;
의 즉 검색 한 후 값으로 =
마지막 ;
사이에있는 텍스트를 고려한다.
이 방법의 문제점은 값 자체에 =
이 있으면 올바르게 파싱하지 못한다는 것입니다.
예를 들어,이 실패 token=crbz23;4=134;
어떤 제안?