Форум сайта python.su
0
есть определенная строка формат строки везде одинаковый но длина разная - пример
'1.3', ‘1854’, ‘1.4.1.0’, ‘6.3.1.1’, ‘47480.3.2.2.4.0’, ‘1’
или
'1.3', ‘1854’, 1.3.1.1', ‘1.4.1.0’, ‘6.3.1.1’, ‘480.1.2.2.0.0’, ‘1’
итд
надо извлечь только предпоследние !! данные в строке без ковычек должно получится так
а = 47480.3.2.2.4.0 или а = 480.1.2.2.0.0
Отредактировано dima_ikar (Май 3, 2019 22:13:12)
Офлайн
Если я правильно понял, то можно так:
#!/usr/bin/env python3 # -*- coding: utf-8 -*- if __name__ == "__main__": string = "'1.3', '1854', '1.3.1.1', '1.4.1.0', '6.3.1.1', '480.1.2.2.0.0', '1'" list_values = string.split(',') len_list_value = len(list_values) len_list_value -= 2 print(list_values[len_list_value])
Офлайн
Если именно через регулярки, вроде примерно такое получается:
pattern = re.compile(r"'([0-9\.]+)',\s*'[0-9\.]*'$")
Отредактировано Egorro13 (Май 3, 2019 22:41:22)
Офлайн
0
Egorro13если я правильно понял то pattern = re.compile(r"'(+)',\s*'*'$", типа строка)
Если именно через регулярки, вроде примерно такое получается:
Офлайн
dima_ikarЭто, грубо говоря, создание шаблона с нужным регулярным выражением для последующей работы. Использование может выглядеть примерно так (просто как пример, сам только недавно начал разбираться с этим):
если я правильно понял то pattern = re.compile(r“'(+)',\s*'*'$”, типа строка)
import re pattern = re.compile(r"'([0-9\.]+)',\s*'[0-9\.]*'$") found = pattern.search("'1.3', '1854', '1.4.1.0', '6.3.1.1', '47480.3.2.2.4.0', '1'") print(found.group(1))
Отредактировано Egorro13 (Май 3, 2019 23:00:05)
Офлайн
0
Yuri197мил человек Ты спас меня - спасибо
Если я правильно понял, то можно так:
Офлайн
0
Egorro13прекрасно тоже верно только у меня строка заключена в квадратные скобки - буду их удалять щас
import re
pattern = re.compile(r"'(+)',\s*'*'$“)
found = pattern.search(”'1.3', ‘1854’, ‘1.4.1.0’, ‘6.3.1.1’, ‘47480.3.2.2.4.0’, ‘1’")
print(found.group(1))
Офлайн
dima_ikarНе проще в конец регулярки квадратную скобку добавить? ))
прекрасно тоже верно только у меня строка заключена в квадратные скобки - буду их удалять щас
pattern = re.compile(r"'([0-9\.]+)',\s*'[0-9\.]*'\]$")
Офлайн
253
Egorro13Егор и компактная регулярка и отцепление хвоста уже описаны в http://python.su/forum/topic/37170/?page=2
Не проще в конец регулярки
Офлайн
doza_andТу тему я читал, связь уловил, но именно тут был задан конкретный вопрос, на который я мог попытаться ответить с пользой и для спрашивающего, и для себя))
Егор и компактная регулярка и отцепление хвоста уже описаны в http://python.su/forum/topic/37170/?page=2
Офлайн