Ich möchte alles in einer Zeichenfolge bis zum letzten Leerzeichen abstimmen, aber ohne es einzuschließen. Aus Gründen des Beispiels würde Ich mag Charaktere passe ich in fett setzen:RegEx: Passe alles bis zum letzten Leerzeichen an, ohne es einzuschließen
RENATA T. GROCHAL
Ich habe ^(.+\s)(.+)
jedoch Bisher ist es den letzten Raum paßt, und ich will es nicht. RegEx sollte auch für andere Sprachen als Englisch funktionieren, wie meins.
EDIT: Ich habe nicht erwähnt, dass die zweite Erfassungsgruppe kein Leerzeichen enthalten sollte - es GROCHAL
nicht GROCHAL
mit einem Raum, bevor es sein sollte.
EDIT 2: Mein neues RegEx auf das, was die beiden Antworten zur Verfügung gestellt haben, ist: ^((.+)(?=\s))\s(.+)
und die RegEx verwendet, um die Spiele zu ersetzen ist \3, \1
. Es führt zu dem erwarteten Ergebnis:
GROCHAL, RENATa T.
Alle Verbesserungen wären wünschenswert.
Wie wäre es passender '\ S +' Nicht-Leerzeichen vor '$' Ende: [(. +) '\ S (\ S +) $'] (https : //regex101.com/r/kS5pF8/1) und ersetzen durch '$ 2, $ 1' ähnliche @ medvedev1088 Lösung mit zwei Gruppen'^(. +) \ s (. +) ' –
@bobblebubble Für mich ist Ihre Lösung viel besser als meiner. – menteith
Ich habe für die Lösung von medvedev1088 gestimmt, da meine Idee sehr ähnlich ist. –