Автор оригинала: 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']
Что мы здесь сделали?
Ниже приведено объяснение заметных утверждений программы в приведенном выше примере.
Re.findall ('[0-9] +', str)
Возвращает все слова, которые являются числами.- Функция
Filternomumber (N)
Возвращает true, если длина номераN
равен длине, которую мы указалиN
Отказ - Фильтровать список, возвращаемый на шаге 1, с функцией, определенной на шаге 2.
- Фильтр на шаге 3 возвращает список, содержащий числа, которые имеют длину.
Резюме
В этом руководстве примеров Python мы узнали, как получить список номеров с определенной длиной, используя регулярное выражение Python.