Входные строки:
Код: Выделить всё
1. "ABC-QWERT01"
2. "ABC-QWERT01DV"
3. "ABCQWER01"
ABC - QWERT 01 DV
1 2 3 4 5
- Строка всегда начинается с трех символов.
- Дефис необязателен.
- Тогда будет от 3 до 10 символов.
- Дополненные слева цифры от 0 до 99
- суффикс состоит из 2 символов и является необязательным
Код: Выделить всё
1. ['ABC','-','QWERT','01']
1. ['ABC','-','QWERT','01', 'DV']
1. ['ABC','QWER','01','DV']
Шаблон 1: r"([ -? , \d{2}])+"
Это работает, но не разбивает строку на первые три символа, если тире отсутствует.
Шаблон 2: r"([^[a-z]{3}, -?, \d{2}])+"
Это не соответствует шаблону, ничего не разбивается
Шаблон 3: r"([^[a-z]{3}|-?, \d{2}])+"
Это не соответствует шаблону , ничего не делится
Есть какие-нибудь советы или предложения?
Подробнее здесь: https://stackoverflow.com/questions/786 ... delimeters