PEG.js Parser Generator 1005 Mit PEG.js oder dem Nachfolger PEGGY.js kann man einen eigenen Parser erstellen. Parser analysieren Text und können wichtige Informationen daraus extrahieren und in ein in der Programmierung nutzbares Objekt verwandeln. PEG.js Ausdrücke Bei der Nutzung von * oder + wird das Ergebnis immer in einem Array zurückgegeben. Will man diese Arrays zusammenführen, kann man array1.concat(array2) nutzen. //expression * (word _?)* //Match zero or more repetitions of the expression and return their match results in an array. //expression + letter+ //Match one or more repetitions of the expression and return their match results in an array. //$ expression $letter+ //return the matched text instead of the match result. Hier wird z.B.: ein Wort zurückgegeben anstatt die einzelnen Buchstaben. //expression1 / expression2 / ... / expressionn start = ( (number _?) / (word _?) )* //hier wird entweder eine Zahl oder ein Wort in den Array aufgenommen number = $digits+ digits = [0-9] word = $letter+ letter = [a-zA-Z0-9] _ = " " Wörter parsen /* Sucht alle Wörter und gibt diese in einem Array aus*/ //testet ob ein Wort und ein Leerzeichen vorhanden ist, das Leerzeichen ist optional words = w:(word _?)* { let array = []; w.forEach(word => { //iteriert durch alle Wörter Arrays -> [Hallo, ], [mein, ], [Name, ], ... word.splice(1, 1); //entfernt bie [word][_] das Leerzeichen array = array.concat(word); //kombiniert die Arrays in einen Array }) return array; } word = $letter+ letter = [a-zA-Z0-9] _ = " " Ergebnis: Links PEGGY.js online Parser GeneratorPEGGY.js DokumentationSQLverine Parser unsere-schule.org × PEG.js Parser Generator Code: 1005 Infos: unsere-schule Codes