@miksan

Как вычленить номер автомобиля?

Добрый день!

В файле "Реестр выданных разрешений на осуществление деятельности по перевозке пассажиров и багажа легковым такси на территории Сахалинской области" с сайта https://mintrans.sakhalin.gov.ru/about/rezultaty-d..., из столбца "марка, модель, государственный регистрационный знак транспортного средства" пытаюсь вычленить номера автомобилей.

Написал:

pattern_sakhalin = re.compile('\w\d\d\d\s*\w\w\s*\d\d\d*')
auto_number_itog_sakhalin = []
for d_1_sakhalin in df_sakhalin['марка, модель, государственный регистрационный знак транспортного средства']:
    d_3_sakhalin = pattern_sakhalin.findall(str(d_1_sakhalin))
    auto_number_itog_sakhalin.append(d_3_sakhalin)

Но он не забирает номера такси, которые имеют следующий формат "две буквы, три цифры, затем две или три цифры"
Как его можно дополнить, чтобы вычленять номера такси?
  • Вопрос задан
  • 154 просмотра
Решения вопроса 1
ProgrammerForever
@ProgrammerForever
Учитель, автоэлектрик, программист, музыкант
В номере присутствуют не все буквы, а только из списка
А, В, Е, К, М, Н, О, Р, С, Т, У и Х
Регулярка такая:
([АВЕКМНОРСТУХавекмнорстухABEKMHOPCTYXabekmhopctyx]\s*\d{3}\s*[АВЕКМНОРСТУХавекмнорстухABEKMHOPCTYXabekmhopctyx]{2}\s*\d{2,3})|([АВЕКМНОРСТУХавекмнорстухABEKMHOPCTYXabekmhopctyx]{2}\s*\d{3}\s*\d{2,3})


Примеры на reg101
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
fox_12
@fox_12 Куратор тега Python
Расставляю биты, управляю заряженными частицами
Это
"две буквы, три цифры, затем две или три цифры"
соответствует этому, при условии что они могут быть разделены пробелами
\w{2}\s*\d{3}\s*\d{2,3}

Почитайте за Квантификацию (поиск последовательностей) в регулярных выражениях
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы