Ich versuche, einen regulären Ausdruck (in Python) zu schreiben, um Eingaben von einem Benutzer zu entsprechen. Ich versuche, den "Namen" und die "Nummer" aus dem Eingang zu greifen.Eine Regex schreiben, um ankommenden Chat zu entsprechen
Aktuelle Regex:
^(?P<start_number>\d+){0,1} (?P<name>.+)|^(?P<name2>.+?)(?:\s+){0,1}(?P<end_number>\d+){0,1}$
Eingänge sind:
- foo 1
- foo 2 kann dieser Text nicht erfassen
- 3 foo
- 4 foo Erfassung dieser Text
- foo 1 2 3
Was ich aufnehmen möchten:
- Name: foo, num: 1
- Name: foo, num: 2
- Name: foo, num: 3
- Name: foo erfassen sie diesen Text, num: 4
- Name: foo, num: 1
Mein Problem ist, dass aufgrund der "$" es Vs. Wenn ich das "$" lösche, fängt es nur den ersten Buchstaben des Strings für 1,2,5
Irgendwelche Ideen?Ich verwende regex101 mich
Try [ '^ (? :(P \ d +) | (? P . *?)? (? P \ d +). *) $ '] (Https://regex101.com/r/8pfVZR/1) –