kullanın Negatif ilerleme yüklemler:
phrase
=(!"START" .)* "START" result:(!"END" .)* "END" .* {
for (var i=0;i<result.length;++i)
// remove empty element added by predicate matching
{result[i]=result[i][1];
}
return result.join("");
}
Sen pegjs tekrarlama açgözlü olduğu için olumsuz bir END için yüklemi ve ayrıca START kullanmak gerekir. o virgül ve sonra birleştirir ile alt diziler katılır yani o (iç içe diziler ile uğraşırken bu join
değil-ille belgelenmiş davranış dayanır rağmen
Alternatif eylem
{return result.join("").split(',').join("");}
olarak yazılmış olabilir onları).
[GÜNCELLEME] boş unsurları ile başa çıkmak için daha kısa bir yol
phrase
=(!"START" .)* "START" result:(t:(!"END" .){return t[1];})* "END" .* {
return result.join("");
}
teşekkürler olduğunu! !!!!!!!!! –