Регулярное выражение Python, разделение строки с несколькими разделителямиPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Регулярное выражение Python, разделение строки с несколькими разделителями

Сообщение Anonymous »

Я знаю, что на этот вопрос уже дан ответ, но мой вариант использования немного другой. Я пытаюсь настроить шаблон регулярного выражения для разделения нескольких строк на список.
Входные строки:

Код: Выделить всё

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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»