Найти - Пользователи
Полная версия: Получить только одно совпадение с RE из файла
Начало » Python для новичков » Получить только одно совпадение с RE из файла
1
sla
Всем привет. Есть файл `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
AD0DE412
 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)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB