Deutschsprachiges LilyPond-Forum

Allgemeine Fragen und Probleme => Fragen und Probleme aller Art => Thema gestartet von: ingmar am Freitag, 7. September 2018, 09:54

Titel: Guile und Reguläre Ausdrücke?
Beitrag von: ingmar am Freitag, 7. September 2018, 09:54
Hallo,

hat jemand von euch mal versucht, Reguläre Ausdrücke innerhalb von Guile einzusetzen? Hintergrund: Ich möchte Einstellungen aus einem Konfigurationsfile auswerten.

(provided? 'regex) liefert in der Sandbox #t, demnach sollte Guile das eigentlich unterstützen.

Ich stütze mich auf folgende Beschreibung: https://www.gnu.org/software/guile/manual/html_node/Regexp-Functions.html#Regexp-Functions (https://www.gnu.org/software/guile/manual/html_node/Regexp-Functions.html#Regexp-Functions). Aber schon die erste dort erwähnte Funktion schlägt fehl, (string-match "b" "abc") führt zu ERROR: Unbound variable: string-match.

Hat jemand mal mit Regexes gearbeitet und weiß, wie's geht oder wo es dokumentiert ist?


Danke, Gruß,
--ingmar
Titel: Antw:Guile und Reguläre Ausdrücke?
Beitrag von: Malte am Freitag, 7. September 2018, 10:45
#(use-modules (ice-9 regex))
heißt das Zauberwort :)
Titel: Antw:Guile und Reguläre Ausdrücke?
Beitrag von: harm6 am Freitag, 7. September 2018, 11:16
Hallo Ingmar,

Du verlinkst zum guile-2.2.4-Manual, doch LilyPond verwendet guile-1.8.
Allerdings steht in beiden manuals im Abschnitt direkt davor, daß `(use-modules (ice-9 regex))` verwendet werden muß.
Deshalb verwende ich immer die big-page-Varianten ;)

Gruß,
  Harm
Titel: re: Guile und Reguläre Ausdrücke?
Beitrag von: ingmar am Freitag, 7. September 2018, 21:21
Zitat...steht in beiden manuals im Abschnitt direkt davor, daß `(use-modules (ice-9 regex))` verwendet werden muß.

Tja. Wie kommt es eigentlich, dass ihr lesen könnt und ich offenbar nicht, oder nur so halb. Ich finde das absolut ungerecht.

--ingmar
Titel: Antw:re: Guile und Reguläre Ausdrücke?
Beitrag von: Malte am Freitag, 7. September 2018, 22:10
Zitat von: ingmar am Freitag,  7. September 2018, 21:21
Tja. Wie kommt es eigentlich, dass ihr lesen könnt und ich offenbar nicht, oder nur so halb. Ich finde das absolut ungerecht.
Ich hab damals auch ne Weile gesucht. Hab vor nem Jahr was mit regexes gemacht und hatte jetzt die Datei schnell gefunden, um nachzuschauen ;)
Titel: re: Guile und Reguläre Ausdrücke?
Beitrag von: ingmar am Sonntag, 9. September 2018, 21:30
Tja, hier noch ein wenig für die, die in Zukunft vielleicht auch mal vorhaben, reguläre Ausdrücke zu verwenden:

In Guile 1.8 wird nur der Posix-Standard unterstützt. Das hat deutliche Nachteile - vor allem: Die Ausdrücke sind immer greedy. Auch Rückwärtsreferenzen gibt es nicht, du kannst also nicht nach etwas suchen, das zwischen zwei Teilausdrücken eingeschlossen ist und anschließend dieses Gesuchte verwenden. Mit anderen Worten: Wenn du eine bestimmte Stelle im Text finden und verwenden möchtest, musst du schon mit zwei Ausdrücken dessen Begrenzungen vorne und hinten finden. Die Ausdrücke liefern die Start- und Endposition zurück, die gefunden wurden; damit kann man dann sich dann den gesuchten Substring holen. Weniger elegant als die reine Lehre, aber man kann damit arbeiten, und sicher besser als gar nichts.

Ich werd mal ein wenig damit herumspielen und weitere Beobachtungen melden.


Gruß, Danke,
--ingmar