Найти в Дзене
Удалёнка

Регулярные выражения в Python

В этой статье мы рассмотрим, как использовать один из основных методов регулярных выражений в python 're.findall()' для извлечения строковых выражений. Сначала подключим модуль регулярных выражений 're': import re Предположим, что у нас есть следующая строка: test_string1 = 'Python is Amazing!' Регулярное выражение r “^w+” в re.findall() вернет начало входной строки: regex_1 = re.findall(r"^w+",test_string1) print(regex_1) В выражении r “^w+” символ «^» соответствует началу строки, а «w+» находит буквенно-цифровые символы. Если удалить '^', то получим: regex_1 = re.findall(r"w+",test_string1) print(regex_1) Попробуем извлечь начало другой строки: test_string2 = 'Java is Amazing!' Затем применим 're.findall()', чтобы найти первое слово этой строки: regex_2 = re.findall(r"^w+",test_string2) print(regex_2) Приведем более реальный сценарий использования. Предположим, что у нас есть список заголовков видео YouTube и соответствующее заголовкам количество просмотров на YouTube: youtube_

В этой статье мы рассмотрим, как использовать один из основных методов регулярных выражений в python 're.findall()' для извлечения строковых выражений.

Сначала подключим модуль регулярных выражений 're':

import re

Предположим, что у нас есть следующая строка:

test_string1 = 'Python is Amazing!'

Регулярное выражение r “^w+” в re.findall() вернет начало входной строки:

regex_1 = re.findall(r"^w+",test_string1)

print(regex_1)

В выражении r “^w+” символ «^» соответствует началу строки, а «w+» находит буквенно-цифровые символы.

Если удалить '^', то получим:

regex_1 = re.findall(r"w+",test_string1)

print(regex_1)

Попробуем извлечь начало другой строки:

test_string2 = 'Java is Amazing!'

Затем применим 're.findall()', чтобы найти первое слово этой строки:

regex_2 = re.findall(r"^w+",test_string2)

print(regex_2)

Приведем более реальный сценарий использования. Предположим, что у нас есть список заголовков видео YouTube и соответствующее заголовкам количество просмотров на YouTube:

youtube_titles = [("How to Tell if We're Beating COVID-19", 2200000), ("Extreme Closet Clean Out",326000), ("This is $1,000,000 in Food",8800000), ("How To Tell If Someone Truly Loves You ", 2800000), ("How to Tell Real Gold from Fake", 2300000), ("Extreme living room transformation ", 25000)]

Модуль re Python – осваиваем регулярные выражения Python

Можно найти первое слово каждого заголовка следующим образом:

or title in youtube_titles:

print(re.findall(r"^w+",title[0])[0])

И добавить полученные значения в список:

first_words = []

for title in youtube_titles:

first_words.append(re.findall(r"^w+",title[0])[0])

print(first_words)

Или представить данные в виде списка:

first_words = []

views = []

for title in youtube_titles:

first_words.append(re.findall(r"^w+",title[0])[0])

views.append(title[1])

Затем можно создать DataFrame из первых слов заголовка и просмотров видео:

import pandas as pd

df = pd.DataFrame({'first_words': first_words, 'views':views})

print(df)

Изучаем классы в Python: построение классов и определение объектов в Python 3

А также выполнить группировку и вычислить средние значения для каждого первого слова:

df = df.groupby('first_words')['views'].mean()

print(df)

Отсортируем эти значения в порядке убывания:

df = df.groupby('first_words')['views'].mean().sort_values(ascending = False)

print(df)