Regex для извлечения только чисел из строки во время итерации dict? - PullRequest
0 голосов
/ 02 марта 2020

Я пытаюсь получить следующее 2019/2020 (dddd/dddd) из строки, которая может выглядеть следующим образом FA WSL Cup Season 2019/2020. Общим фактором является то, что желаемый контент всегда идет последним. поэтому, повторяя, я хотел бы извлечь это с помощью регулярных выражений, но я не знаю никаких регулярных выражений. Так пример псевдо ниже:

for i in cont.values():
    label = PERFROM REGEX ON i['label']
    season_info[abbreviation] += [APPEND REGEX VERSION]

Большое спасибо,

1 Ответ

3 голосов
/ 02 марта 2020

Вот как вы можете использовать RegEx для извлечения таких данных:

import re

result = re.findall( r'(\b(\d{4}/\d{4}\b)', 'FA WSL Cup Season 2019/2020')
print(result)

Вывод

['2019/2020']

Позвольте мне разобрать решение для вас:

\ b относится к разрыву слова и будет работать как для пробелов, так и для конца строк.
\ d означает любое значение di git (любое число).
{4} означает, что мне нужно 4 цифры (одна за другой, повторение 4).
/ будет просто символом, разделяющим два Группы из 4 цифр.
Использование () Я сообщаю RegEx, что это будет группа, которую я хочу извлечь.

Я также предлагаю использовать онлайн-тестеры RegEx для обучения, а также для тестирования Ваши регулярные выражения.

Вот два примера из тех, которые я использую:

Вот курс для начинающих, который я нахожу просто великолепным:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...