ich möchte gerne einen Namen mit Regex finden. z.b.
Firma
Max Mustermann
Musterstr. 8
12345 Musterstadt
folgendes habe ich gemacht.
Code: Alles auswählen
(?<=Herr|Frau|Firma)([\D|\s]+\D)
Code: Alles auswählen
(?<=Herr|Frau|Firma)([\D|\s]+\D)
Code: Alles auswählen
In [3]: re.compile("(?<=Herr|Frau|Firma)([\D|\s]+\D)")
---------------------------------------------------------------------------
error Traceback (most recent call last)
<ipython-input-3-af5abb459c56> in <module>
----> 1 re.compile("(?<=Herr|Frau|Firma)([\D|\s]+\D)")
/usr/lib/python3.6/re.py in compile(pattern, flags)
231 def compile(pattern, flags=0):
232 "Compile a regular expression pattern, returning a pattern object."
--> 233 return _compile(pattern, flags)
234
235 def purge():
/usr/lib/python3.6/re.py in _compile(pattern, flags)
299 if not sre_compile.isstring(pattern):
300 raise TypeError("first argument must be string or compiled pattern")
--> 301 p = sre_compile.compile(pattern, flags)
302 if not (flags & DEBUG):
303 if len(_cache) >= _MAXCACHE:
/usr/lib/python3.6/sre_compile.py in compile(p, flags)
564 pattern = None
565
--> 566 code = _code(p, flags)
567
568 # print(code)
/usr/lib/python3.6/sre_compile.py in _code(p, flags)
549
550 # compile the pattern
--> 551 _compile(code, p.data, flags)
552
553 code.append(SUCCESS)
/usr/lib/python3.6/sre_compile.py in _compile(code, pattern, flags)
158 lo, hi = av[1].getwidth()
159 if lo != hi:
--> 160 raise error("look-behind requires fixed-width pattern")
161 emit(lo) # look behind
162 _compile(code, av[1], flags)
error: look-behind requires fixed-width pattern
wie soll man das denn einfacher machen ?@Robertsche: Schon wieder so ein Lookbehind — arbeite Dich mal in die Regex-Grundlagen ein und verwende solche Extrawürste nur wenn die wirklich nötig sind.
Hallo, könntest du mir evtl. ein Beispiel zeigen ?__deets__ hat geschrieben: Mittwoch 10. Februar 2021, 15:14 Einfach eine Gruppe mit Vater|Mutter|Kind|Herr|Frau|Wasauchimmer gefolgt von Leerzeichen gefolgt von einer Catch-all Gruppe, zb.
Ich arbeite seit Jahrzehnten mir regex, look ahead/behind habe ich nich NIE benutzt. Die haben bestimmt ihren Nutzen, aber sowas simples braucht man sie eben nicht.
Code: Alles auswählen
(Herr|Frau|Firma)([\D]\D+?)(\n)