Ponownie użyj części wzoru Regex

Rozważmy ten (bardzo uproszczony) przykładowy ciąg:

1aw2,5cx7

Jak widać, są dwadigit/letter/letter/digit wartości oddzielone przecinkiem.

Teraz jamógłby dopasuj to do następujących:

>>> from re import match
>>> match("\d\w\w\d,\d\w\w\d", "1aw2,5cx7")
<_sre.SRE_Match object at 0x01749D40>
>>>

Problem polega jednak na tym, że muszę pisać\d\w\w\d dwa razy. Przy małych wzorach nie jest to takie złe, ale dzięki bardziej złożonym Regexom, pisanie dokładnie tego samego dwa razy sprawia, że ​​wzór końcowy jest ogromny i nieporęczny w pracy. To też wydaje się zbędne.

Próbowałem użyć nazwanej grupy przechwytywania:

>>> from re import match
>>> match("(?P<id>\d\w\w\d),(?P=id)", "1aw2,5cx7")
>>>

Ale to nie zadziałało, ponieważ szukało dwóch zdarzeń1aw2, niedigit/letter/letter/digit.

Czy jest jakiś sposób na zapisanie części wzoru, na przykład\d\w\w\d, więc może być używany później w tym samym wzorze? Innymi słowy, czy mogę ponownie wykorzystać wzór cząstkowy we wzorze?

questionAnswers(6)

yourAnswerToTheQuestion