Python - Питон

  • Python
  • Javascript
  • CSS & HTML

re - модуль стандартной библиотеки Python

Модуль re в Python предоставляет функционал для работы с регулярными выражениями

  1. Главная
  2. re - модуль стандартной библиотеки Python
ПРОЩЕ СКАЗАТЬ:
Работа с регулярными выражениями

Модуль re в Python предоставляет функционал для работы с регулярными выражениями.

Регулярные выражения - это строки, используемые для поиска шаблонов в других строках.

 

Поиск слова "Победа" в строке:

import re

result = re.search(r'Победа', 'Великая Победа в Великой войне!')

print(result.group(0))

Результат

Победа

 

Проверка наличия цифр в строке:

import re

year = "2024"

result = re.search(r'\d', f'Год {year}')

if result:

    print('РЕЗЮМЕ: \nЦифры присутствуют, даже если они представлены строкой.')

Результат

РЕЗЮМЕ:

Цифры присутствуют, даже если они представлены строкой.

 

Поиск всех цифр в строке:

import re

result = re.findall(r'\d', 'Год 2024')

print(*result, sep=' ')

Результат

2 0 2 4

 

Поиск всех слов, начинающихся с буквы "L" в строке:

import re

result = re.findall(r'\b[LH]\w+', 'Операционная система LINUX')

print(*result, sep=' ')

Результат

LINUX

 

Перестановка запятой в строке:

import re

result = re.sub(r'Казнить, нельзя помиловать', 'Казнить нельзя, помиловать', 'Казнить, нельзя помиловать')

print(result)

Результат

Казнить нельзя, помиловать

 

Поиск всех литералов, состоящих только из букв:

import re

result_1 = re.findall(r'\b[A-Za-z]+\b', 'The year 2024 has arrived')

result_2 = re.findall(r'\b[А-Яа-я]+\b', 'Наступил 2024 год')

 

print(*result_1, sep=' ')

print(*result_2, sep=' ')

Результат

The year has arrived

Наступил год

 

Поиск всех email адресов в строке:

import re

result = re.findall(r'\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b', 'Email me at ap@example.ru')

print(*result, sep=' ') # выведение списка без скобок и запятых

Результат

ap@example.ru

 

Поиск всех доменных имен в строке:

import re

result = re.findall(r'(?:https?://)?(?:www\.)?([a-zA-Z0-9.-]+)', 'Посетите сайт http://www.example.com')

print(*result, sep=' ')

Результат

example.com

 

Поиск всех совпадений в строке:

# Этот пример находит все слова в строке, которые имеют длину ровно 6 символов.

import re

pattern = r'\b\w{6}\b'

string = "Пример, который является для нас примером во всем и всегда."

matches = re.findall(pattern, string)

print(*matches, sep=' ')

Результат

Пример всегда

 

Этот пример удаляет все цифры из строки:

import re

pattern = r'\d+'

string = "1 деталь"

new_string = re.sub(pattern, '', string)

print(new_string)

Результат

деталь

 

Этот пример проверяет, содержится ли слово "программа" в строке.

import re

pattern = r'\bпрограмма\b'

string = "Проводится тестирование многих программ. Каждая программа тестируется особым образом."

if re.search(pattern, string):

    print("Слово программа представлено в тексте.")

else:

    print("Слово программа не представлено в тексте.")

Результат

Слово программа представлено в тексте.

 

Этот пример находит все email адреса в тексте.

import re

pattern = r'\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b'

text = "В данном тексте представлены адреса: guest1@gmail.com or guest2@gmail.com"

emails = re.findall(pattern, text)

print(*emails, sep=', ')

Результат

guest1@gmail.com, guest2@gmail.com

 

Поиск всех URL в тексте

import re

pattern = r'https?://(?:[-\w.]|(?:%[\da-fA-F]{2}))+'

text = "Посетите сайт http://www.example.com и https://www.example_2.com"

urls = re.findall(pattern, text)

print(*urls, sep=', ')

Результат

http://www.example.com, https://www.example_2.com

 

Этот пример находит все хэштеги в тексте.

import re

pattern = r'\B#\w*[a-zA-Z]+\w*'

text = "Я изучаю #python и люблю #programming"

hashtags = re.findall(pattern, text)

print(*hashtags, sep=', ')

Результат

#python, #programming

 

Поиск всех дат в тексте

import re

pattern_1 = r'\b(?:[0-2]?[0-9]|3[01])/(?:0?[1-9]|1[0-2])/[0-9]{4}\b'

pattern_2 = r'\b(?:[0-2]?[0-9]|3[01]).(?:0?[1-9]|1[0-2]).[0-9]{4}\b'

text_1 = "Поездка назначена на 1/6/2024 года"

text_2 = "Поездка назначена на 1.6.2024 года"

dates_1 = re.findall(pattern_1, text_1)

print(*dates_1, sep=', ')

dates_2 = re.findall(pattern_2, text_2)

print(*dates_2, sep=', ')

Результат

1/6/2024

1.6.2024

 

Разделение строки на подстроки

import re

pattern = r'\s+'

string = "В каждой шутке есть его доля"

words = re.split(pattern, string)

print(*words, sep=', ')

Результат

В, каждой, шутке, есть, его, доля

 

Поиск всех чисел, оканчивающихся на определенную цифру

import re

pattern = r'\b\d*[135]\b'

string = "Числа, оканчивающиеся на 5 кратны 5, 15 и 25"

matches = re.findall(pattern, string)

print(matches)

Результат

['5', '5', '15', '25']

 

Поиск всех символов пунктуации

import re

pattern = r'[^\w\s]'

string = "Привет друг! Я рад приветствовать Вас, дорогой гость!"

matches = re.findall(pattern, string)

print(*matches, sep=' ')

Результат

! , !

PYTHON во фронтенде на WEB-странице в HTML через фреймворк PyScript ▼

Модуль re стандартной библиотеки Python позволяет выделить доменные имена из текста, используя шаблон.

 

Вывод доменных имен в произвольном тексте из 3-х предложений:

import re

result = re.findall(r'(?:https?://)?(?:www\.)?([a-zA-Z0-9.-]+)', 'Совершенно произвольный выбор example1.com, где требуется найти все перечисленные в тексте все доменные имена example2.com и посетите сайт http://www.example3.com')

print(*result, sep=' ')

import re result = re.findall(r'(?:https?://)?(?:www\.)?([a-zA-Z0-9.-]+)', 'Совершенно произвольный выбор example1.com, где требуется найти все перечисленные в тексте все доменные имена example2.com и посетите сайт http://www.example3.com') print(*result, sep=' ')

▲ Результат работы PyScript на WEB-странице


Деревянная модель оружия из компьютерных игр
Модель оружия из дерева
Объемная резьба из дуба
Макет из дерева

Изделия из дерева

Декор Модели Резьба

Авторские работы

Нижний Новгород

ПРОЕКТИРОВАНИЕ
ИЗГОТОВЛЕНИЕ
РЕСТАВРАЦИЯ

Позвонить

+7 920 298 74 21
© Copyright ArtpLan. All Rights Reserved
Designed by ArtPlan