Seite 1 von 1

Regex suche ?

Verfasst: Sonntag 7. Februar 2021, 21:24
von Robertsche
Moin,

ich bin Anfänger und brauche mal Hilfe.

ich möchte mit Regex folgendes machen. Ein Wort hinter einem Word zu finden geht ja so

Code: Alles auswählen

REGEX:(?i)(?<=Abzug)([\s]*)\b([\S]*)\b
so findet es alles hinter "Abzug" ich möchte
aber das er ein Word vor "Abzug" findet !

Danke.

Re: Regex suche ?

Verfasst: Sonntag 7. Februar 2021, 23:21
von __blackjack__
@Robertsche: Du verwendest da ja ein „Positive Lookbehind“. Das gibt es ja auch in die andere Richtung: „Positive Lookahead“.

Wobei mir nicht so ganz klar ist warum Du das so kompliziert machst. Geht das nicht ganz normal mit Gruppierung? Muss man da eher exotische Sachen wie Lookbehind/Lookahead verwenden?

Re: Regex suche ?

Verfasst: Sonntag 7. Februar 2021, 23:24
von /me
Mit ?<= hast du eine positive lookbehind assertion. Mit ?= bekommst du eine lookahead assertion.

In der Dokumentation zu Pythons Regular expression operations findest du auch entsprechende Beispiele. Nicht viele, aber es gibt sie.

Prinzipiell hat __blackjack__ aber recht. Warum nicht einfach den normalen Text nehmen und ihn entweder in keine oder in eine später nicht verwendete Gruppe packen?

Re: Regex suche ?

Verfasst: Montag 8. Februar 2021, 00:04
von Robertsche
@/me so hat es funktioniert 👍 danke.

Re: Regex suche ?

Verfasst: Montag 8. Februar 2021, 10:35
von Robertsche
__blackjack__ hat geschrieben: Sonntag 7. Februar 2021, 23:21 @Robertsche: Du verwendest da ja ein „Positive Lookbehind“. Das gibt es ja auch in die andere Richtung: „Positive Lookahead“.

Wobei mir nicht so ganz klar ist warum Du das so kompliziert machst. Geht das nicht ganz normal mit Gruppierung? Muss man da eher exotische Sachen wie Lookbehind/Lookahead verwenden?
Das würde auch gehen. Aber soweit bin ich nicht nicht das ich sowas kann ☹️

Re: Regex suche ?

Verfasst: Montag 8. Februar 2021, 15:12
von __blackjack__
@Robertsche: Was heisst „so weit“? Du benutzt Superspezialkram, kannst das aber nicht mit den normalen grundlegenden Mitteln ausdrücken? Das widerspricht sich ein bisschen.