Python регулярное выражение для получения сессии и токена - PullRequest
0 голосов
/ 04 мая 2020

Я попытался получить токен и сессию из этой строки, но не смог разобрать с помощью python regex. Как я могу это сделать? Моя проблема в том, что "-" существует как в значении ссылки, так и в значении токена. поэтому я не смог получить токен и значение сеанса из строки:

b'https://urlpart1-urlpart2-urlpart3\nusername@com\nMsrrkr.\nweb page opened\nTrying to login ...\ntoken: 125834b5-b6ed-4b37-ada7-12c2199003d2\nsession: MDdiZTEyNzAtZTE4ZS00MTY5LWFkYzgtN2QzZjI5ZjY0YWI1\n'

Ответы [ 2 ]

1 голос
/ 04 мая 2020

У вас есть хорошо организованный ключ: значение данных. Разбейте строку на строки, затем разделите каждую строку точкой с запятой и создайте словарь:

parts = [x.split(":") for x in yourstring.decode().split('\n')]
values = {p[0]: p[1].strip() for p in parts if len(p)==2}
values['token']
values['session']

Здесь нет необходимости использовать регулярное выражение.

1 голос
/ 04 мая 2020

если вам действительно нужно использовать регулярные выражения, вы можете сделать что-то вроде этого:

import re
r='https://urlpart1-urlpart2-urlpart3\nusername@com\nMsrrkr.\nweb page opened\nTrying to login ...\ntoken: 125834b5-b6ed-4b37-ada7-12c2199003d2\nsession: MDdiZTEyNzAtZTE4ZS00MTY5LWFkYzgtN2QzZjI5ZjY0YWI1\n'

m = re.search("token:\s(\S+)\ssession:\s(\S+)\s", r)
print(m.group(1))
print(m.group(2))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...