Уведомления

Группа в Telegram: @pythonsu

#1 Март 19, 2021 21:29:40

sla
Зарегистрирован: 2021-03-16
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Получить только одно совпадение с RE из файла

Всем привет. Есть файл `test` содержащий много записей типа:
a1 b1 1.2.3.4 c1 10.20.30.40
a2 b2 11.22.33.44 c2 123.456.789.101

и регулярка которая выцепляет выражение по шаблону:

 find = r"(?:\s|\A)(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})(?=\s|\Z)"
далее обработка циклом, например:
 with open(test, "r") as res:
    for line in res:
        results = re.findall(find, line)
        for item in results:
           print(item)
В результате вывод по первой строке:
1.2.3.4
10.20.30.40
Как сделать так что бы в результате было только первое совпадение: 1.2.3.4

Офлайн

#2 Март 20, 2021 10:01:07

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

Получить только одно совпадение с RE из файла

 import re
find = r"(?:\s|\A)(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})(?=\s|\Z)"
with open(test, "r") as res:
    for line in res:
        results = re.findall(find, line)[0]
        #for item in results:
        print(results)



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Отредактировано AD0DE412 (Март 20, 2021 10:03:58)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version