Задать вопрос
samodum
@samodum
Какой вопрос - такой и ответ

Как запустить этот regex на Python?

Ребятульки, привет!
Я немного туплю, не могу заставить работать вот эту регулярку на Питоне: https://regex101.com/r/86CUBr/1/ (обратите внимание, там стоит флаг Singleline, без него пример не работает)
в коде пишу:
content = str(requests.get("https://pastebin.com/raw/sGsusNPT").content)
        results = re.findall(r'<label>\s*<input type=\"(\w+)\"\s*.+?value=\"(\d+)\">(.+?)\/label', content, re.DOTALL)
        print(" ****** RESULTS: " + str(len(results)))

А он ругается, выдаёт 0, мол, список пустой
****** RESULTS: 0
то есть, не срабатывает регулярка в коде.

content - это та самая тестовая строка в regex101

Как заставить работать? Может, не все флаги проставил?

P.S. подправил код после замечания Сергея Тихонова, но проблема осталась.
  • Вопрос задан
  • 182 просмотра
Подписаться 1 Простой 2 комментария
Решения вопроса 1
rinnaatt
@rinnaatt
Python-разработчик
У тебя ошибка в самой первой строке кода, где ты запрашиваешь текст с "pastebin.com", подправил:
import re
import requests

content = requests.get("https://pastebin.com/raw/sGsusNPT").text
results = re.findall(r'<label>\s*<input type=\"(\w+)\"\s*.+?value=\"(\d+)\">(.+?)\/label', content, re.DOTALL)
print(" ****** RESULTS: " + str(len(results)))


у меня печатает: `****** RESULTS: 3`
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
tumbler
@tumbler Куратор тега Python
бекенд-разработчик на python
results является списком, его нельзя плюсануть к строке.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы