RegEx
-
ich möchte aus den Sätzen, wie
ich bin auf einem Hof gelandet.
er is auf dem Dach gelandet.die Teile "einem Hof" bzw. "dem Dach" auslesen. also das, was zwischen "auf" und "gelandet." steht.
mit
Regex reg = new Regex("auf(.*)gelandet\\.");
bekomme ich aber "auf einem Hof gelandet".
??
Danke im Voraus.
-
auf\s(?<tgt>[\w|\s]+)\sgelandet\.
Aber: Du musst mit MatchCollections bzw. Groups arbeiten, um an tgt ranzukommen.
Auf dieser Seite kann man das schnell ausprobieren
-
so ganz funzt es nicht.
zu einem bekommt man auch "auf einem Hof gelandet." zurück und nicht "einem Hof"
zu anderem gibt es probleme mit sonderzeichen. z.b. "auf einem Hof-30 gelandet."
-
Ich dneke einfach mal
"auf(.*)gelandet"
laut der Seite von User... steht dann in group 2 das richtige drin
-
mit dem Regulären Ausdruck:
.(einem Hof).**
findeste genau "einem Hof"
und mit:
.(dem Dach).**
findest genau "dem Dach"
und beide lassen sich so zusammenfassen zu einem Regex
.((einem Hof)|(dem Dach)).**
mfg sclearscreen
-
oh hatte nen kleinen Fehler
so gehts:((einem Hof)|(dem Dach))
dann bekommst auch besagte Wortgruppenmfg
-
etwas was in runden Klammern eingeschlossen ist heisst
genau das was darin enthalten ist muss genau in der Reihenfolge Zeichen für Zeichen stehen der Senkrecht strich verbindet beider Patterens wahlweisemfg