Что найти?

Как найти число определенной длины в строке с помощью RegEx в Python?

/
/

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

Пример 1

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

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. Функция filterNumber(n) возвращает истину, если длина числа n равна указанной нами длине N.
  3. Отфильтруйте список, возвращенный на шаге 1, с помощью функции, определенной на шаге 2.
  4. Фильтр на шаге 3 возвращает список, содержащий числа указанной длины.

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

Как получить список всех чисел из строки?

Чтобы получить список всех чисел в строке, используйте регулярное выражение «[0-9] +» с методом re.findall(). [0-9] представляет собой регулярное выражение, соответствующее одной цифре в строке. [0-9] + представляет собой непрерывные последовательности цифр любой длины.

numbers = re.findall('[0-9]+', str)

Где, str – строка, в которой нам нужно найти числа. re.findall() возвращает список строк, соответствующих регулярному выражению.

Пример 1

В следующем примере мы возьмем строку. Мы живем по адресу 9–162, Малибеу. Мой номер телефона – 666688888. Я найду все числа [‘9’, ‘162’, ‘666688888’], присутствующие в строке.

import re

str = 'We live at 9-162 Malibeu. My phone number is 666688888.'
#search using regex
x = re.findall('[0-9]+', str)
print(x)

Вывод:

['9', '162', '666688888']

Пример 2: получение списка всех непрерывных цифр в строке

В следующем примере мы возьмем строку: Мы, четверо, живем на 2-й улице Малибеу. У меня в кармане было 248 долларов наличными. Я получил билет с серийным номером 88796451-52. И нахожу все числа [‘2’, ‘248’, ‘88796451’, ’52’], присутствующие в строке.

import re

str = 'We four guys, live at 2nd street of Malibeu. 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(x)

Вывод:

['2', '248', '88796451', '52']

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

Как получить список всех чисел из строки?

Чтобы получить список всех чисел в строке, используйте регулярное выражение «[0-9] +» с методом re.findall(). [0-9] представляет собой регулярное выражение, соответствующее одной цифре в строке. [0-9] + представляет собой непрерывные последовательности цифр любой длины.

numbers = re.findall('[0-9]+', str)

Где, str – строка, в которой нам нужно найти числа. re.findall() возвращает список строк, соответствующих регулярному выражению.

Пример 1

В следующем примере мы возьмем строку. Мы живем по адресу 9–162, Малибеу. Мой номер телефона – 666688888. Я найду все числа [‘9’, ‘162’, ‘666688888’], присутствующие в строке.

import re

str = 'We live at 9-162 Malibeu. My phone number is 666688888.'
#search using regex
x = re.findall('[0-9]+', str)
print(x)

Вывод:

['9', '162', '666688888']

Пример 2: получение списка всех непрерывных цифр в строке

В следующем примере мы возьмем строку: Мы, четверо, живем на 2-й улице Малибеу. У меня в кармане было 248 долларов наличными. Я получил билет с серийным номером 88796451-52. И нахожу все числа [‘2’, ‘248’, ‘88796451’, ’52’], присутствующие в строке.

import re

str = 'We four guys, live at 2nd street of Malibeu. 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(x)

Вывод:

['2', '248', '88796451', '52']

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

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

This div height required for enabling the sticky sidebar