Рубрики
Без рубрики

Python – найти номера определенной длины в строке с использованием регулярных выражений

Автор оригинала: Python Examples.

Python Regex – Найти номера определенной длины в строке

Чтобы найти число определенной длины, N, является строкой, используйте регулярное выражение [0-9] + найти числовые строки любой длины. [0-9] соответствует одной цифре. После того, как вы найдете все элементы, фильтруйте их с указанной длиной.

Пример 1: Найти номера определенной длины в строке

В следующем примере мы берем строку и нахожу все 3-значные числа в этой строке.

Python Program

import re

str = 'We four guys, live at 2nd street of Malibeu 521. I had a cash of $248 in my pocket. I got a ticket with serial number 88796451-52.'

#search using regex
x = re.findall('[0-9]+', str)
print('All Numbers\n',x)

#digits of length N
N=3

def filterNumber(n):
	if(len(n)==N):
		return True
	else:
		return False
		
#filter the list
finalx = list(filter(filterNumber, x))
print('Final List\n',finalx)

Выход

All Numbers
 ['2', '521', '248', '88796451', '52']
Final List
 ['521', '248']

Что мы здесь сделали?

Ниже приведено объяснение заметных утверждений программы в приведенном выше примере.

  1. Re.findall ('[0-9] +', str) Возвращает все слова, которые являются числами.
  2. Функция Filternomumber (N) Возвращает true, если длина номера N равен длине, которую мы указали N Отказ
  3. Фильтровать список, возвращаемый на шаге 1, с функцией, определенной на шаге 2.
  4. Фильтр на шаге 3 возвращает список, содержащий числа, которые имеют длину.

Резюме

В этом руководстве примеров Python мы узнали, как получить список номеров с определенной длиной, используя регулярное выражение Python.