Ich schreibe einen Lexer/Scanner zum ersten Mal, und habe ein Problem beim Aufteilen der Eingabezeichenkette gehabt. Beispiel:Wie man eine Zeichenkette auf mehrfachen regulären Ausdrücken teilt, während man die aufspaltenden Zeichen behält
val result = "func add(Num x, Num y) = x+y;".split(???)
result == Array("func", "add", "(", "Num", "x", ",", "Num", "y", ")", "=", "x", "+", "y", ";")
Aber das Problem ist, dass ich nicht einfach auf Leerzeichen aufteilen, also nicht add
von (
zum Beispiel trennen würde tun.
Irgendwelche Hilfe dabei?
nicht * sprechen * scala;), so kann ich Ihnen nicht sagen, wie man mit den leeren Einträgen umgeht, aber auf '\ s | \ b' spaltet - Wortgrenzen hinzufügen - sollte es tun. Siehe [regex101 Beispiel] (https://regex101.com/r/lB7sB3/2) – ClasG
@ClasG, das den Trick gemacht hat, wenn Sie es als eine Antwort posten Ich werde es akzeptieren – Saveyy