У меня есть строка asd@12A/AXB25017/12A@£££
, из которой я хочу извлечь 12A/AXB25017/12A
.
Я разработал шаблон регулярного выражения следующим образом
'.*(([A-Z0-9]+/)?[A-Z]{3}\d+(/[A-Z0-9]+)?)'
Поскольку у меня может быть много разных строк вариации. Допустимые варианты строк с разными буквами и цифрами, которые я хочу извлечь, могут быть.
1) AXB25017
2) 1/AXB25017
3) AXB25017/1
4) 1A/AXB25017
5) AXB25017/1A
6) EN/AXB25017
7) EN/AXB25017/1
Когда я делаю
re.match('.*(([A-Z0-9]+/)?[A-Z]{3}\d+(/[A-Z0-9]+)?)',' @12A/AXB25017/12A@').group(1)
Он не находит начальные 12A/
, но возвращает AXB25017/12A
Чего мне не хватает в моем паттерне, чтобы правильно поймать 12A/
?