2012-05-05 3 views
1

С учетом строки, как мне извлечь все последовательности точно 4 цифры?regexp для извлечения лет

То есть, для 1234 12 12345 1bc5 9876 Я хочу получить [1234, 9876].

Я добрался до re.findall('\D\d\d\d\d\D'), но это не соответствует границам текста (когда нет символа до/после матча).

Решение предпочтительно с использованием Python 2.7, но я думаю, что это довольно общий язык, любой язык будет делать.

ответ

7

Общий ответ на удивление сложный, см. here для получения дополнительной информации. Однако в данном конкретном случае мы можем просто использовать слово-граничное утверждение \b:

re.findall(r'\b\d{4}\b', ....)