Как извлечь три буквы, за которыми следуют пять цифр, с помощью регулярных выражений в Python - PullRequest
0 голосов
/ 24 октября 2019

У меня есть следующий фрейм данных в Python:

abc12345

abc1234

abc1324.

Как извлечь только те, которые имеют три буквыследуют пять цифр?

Желаемый результат будет:

abc12345.

df.column.str.extract('[^0-9](\d\d\d\d\d)$')

Я думаю, что это работает, но есть ли лучший способ изменить (\ d \ d \ d \д \ д)? Что если бы у меня было около 30 цифр. Тогда мне придется 30 раз набрать \ d, что неэффективно.

Ответы [ 2 ]

3 голосов
/ 24 октября 2019

Вы должны быть в состоянии использовать:

'[a-zA-Z]{3}\d{5}'

Если строки не содержат заглавных букв, это можно уменьшить до:

'[a-z]{3}\d{5}'

Измените значения в {x}настроить количество символов для захвата.

0 голосов
/ 24 октября 2019

Или как этот код:

'import re

s = "abc12345"

p = re.compile (r "\ d {5}")

c = p.match (s, 3)

print (c.group ()) '

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...