Christian Kruse: Regex: zweites Wort ohne Leerzeichen

Beitrag lesen

Hallo Andinho,

ich würde gerne das zweite Wort "München" ohne Leerzeichen extrahieren: "Haltestelle München (wird bearbeitet)" Da der Text vor und hinter München immer derselbe ist war mein Ansatz mit Gruppierungen folgender:

(?!Haltestelle )(.*)(?! \(wird bearbeitet\))

Mal eine Herleitung: du möchtest einen String matchen, der mit Haltestelle beginnt. Also:

/^Haltestelle /

Danach kommt ein Wort ohne Leerzeichen. Das möchtest du in einer Backref speichern. Also:

/^Haltestelle (\S+)/

Danach das kannst du dir eigentlich schon sparen. Wenn es aber darum geht, das Vorkommen in einem Text zu matchen, musst du den Anfangs-Anker entfernen und den Match noch etwas absichern; das kannst du, wie du schon richtig gedacht hast, über den nachfolgenden Text (wird bearbeitet) tun:

/Haltestelle (\S+) \(wird bearbeitet\)/

Danach sollte dein „München“ in der ersten Backreference stehen. Da du leider nicht angegeben hast, um welche Sprache es sich handelt, kann ich leider nicht genauer werden.

Zum Testen des Regex habe ich übrigens die Seite https://www.regextester.com verwendet.

Ja, die Seite ist klasse, die verlinke ich gerne. Hier mal das Beispiel von dir: https://www.regextester.com/?fam=110271

LG,
CK