Форум программистов, компьютерный форум, киберфорум
Python: Web
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 23.05.2013
Сообщений: 19
1

Как распознать часть ссылки, используя регулярное выражение?

29.09.2013, 17:27. Показов 2199. Ответов 8
Метки нет (Все метки)

всем привет!

Мне необходимо получить значение переменной code посланной посредством get запроса. URL при этом выглядит так:

Код
http://188.120.235.xxx/moneyAuth/?code=тутСодержимоеСамойПеременной
для этого я написал такое выражение в urls.py:

Python
1
url(r'^moneyAuth/(?P<code>\w+)/$', 'Server.views_money.auth'),
Но такое приложение подходит только для url'ов вида:

Код
http://188.120.235.xxx/moneyAuth/тутСодержимоеСамойПеременной
т.е. без ?code=

подскажите пожалуйста, как адаптировать мое выражение для url'ов вида:
Код
http://188.120.235.xxx/moneyAuth/?code=тутСодержимоеСамойПеременной
и если не трудно, за что отвечает ?P<code> в моей регулярке?
заранее спасибо!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.09.2013, 17:27
Ответы с готовыми решениями:

Регулярное выражение не может распознать тире
Подскажите, пожалуйста! Есть строка, но никак не выдает результат положительного поиска. Почему не...

Как сформировать регулярное выражение - первую часть строки поменять местами со второй?
Не понимаю эти регулярки. Без их сделал бы, но нужно с ними для этого задания - &quot;первую часть...

Регулярное выражение ссылки
Здравствуйте. Помогите пожалуйста составить регулярное выражение для определения id Суть такая:...

Регулярное выражение. Извлечь часть строки
Народ, добрый день. Имеется строка вида: Hostname: 192.168.16.1:1024 Message:...

8
4851 / 3272 / 466
Регистрация: 10.12.2008
Сообщений: 10,570
29.09.2013, 18:46 2
Python
1
r'^moneyAuth/(?P<code>\w+/|[^/]+)$'
Цитата Сообщение от Xcopy Посмотреть сообщение
за что отвечает ?P<code>
это именованная группа - как обычная, только ей даётся имя code
python.org. 2. re
1
0 / 0 / 0
Регистрация: 23.05.2013
Сообщений: 19
29.09.2013, 20:19  [ТС] 3
Цитата Сообщение от accept Посмотреть сообщение
Python
1
r'^moneyAuth/(?P<code>\w+/|[^/]+)$'
Блин, все равно не работает(((
Если убираю ?code=, то работает, а с ?code=

Пишет ошибку 404:
Код
Request Method:	GET
Request URL:	http://188.120.235.xxx/moneyAuth/?code=09B117CCE6541194BBEA5C5758060B60DB58EEB14FAC0BB4441C76C32DAB63C4722C2C1D74A1A1D5AE7F1A07233871FA47B5862EF140090D5257F12FB519FDF599581D3EE3FDB
Using the URLconf defined in Project.urls, Django tried these URL patterns, in this order:
^admin/
^hello/$
^add/$
^signin/$
^get/$
^uploadProfilePhoto/$
^downloadProfilePhoto/$
^friendshipRequestRefuse/$
^remove/$
^quest/$
^check/$
^static/(?P<path>.*)$
^supervision/(?P<path>.*)$
^supervisor/index$
^supervisor/registration/$
^supervisor/registration/addSupervisor/$
^supervisor/login/$
^supervisor/logout/$
^supervisor/questlist/$
^supervisor/quest/(?P<quest_id>\d+)/$
^supervisor/validateQuests/$
^moneyAuth/(?P<code>\w+/|[^/]+)$
The current URL, moneyAuth/, didn't match any of these.
0
4851 / 3272 / 466
Регистрация: 10.12.2008
Сообщений: 10,570
29.09.2013, 20:25 4
Python
1
2
3
4
5
6
7
8
9
>>> import re
>>> 
>>> s = 'http://188.120.235.xxx/moneyAuth/?code=09B117CCE6541194BBEA5C5758060B60DB58EE140E4A605257FA4B0180145E226D2FF5492082B77208D81DC91EE2EACD51814385F14283DD76084D70A5A85772CE028E7475CA91839FB27D3B6B14FAC0BB4441C76C32DAB63C4722C2C1D74A1A1D5AE7F1A07233871FA47B5862EF140090D5257F12FB519FDF599581D3EE3FDB'
>>> 
>>> re.search(r'moneyAuth/(?P<code>\w+/|[^/]+)$', s)
<_sre.SRE_Match object at 0x7f0ec951f918>
>>> re.search(r'moneyAuth/(?P<code>\w+/|[^/]+)$', s).group('code')
'?code=09B117CCE6541194BBEA5C5758060B60DB58EE140E4A605257FA4B0180145E226D2FF5492082B77208D81DC91EE2EACD51814385F14283DD76084D70A5A85772CE028E7475CA91839FB27D3B6B14FAC0BB4441C76C32DAB63C4722C2C1D74A1A1D5AE7F1A07233871FA47B5862EF140090D5257F12FB519FDF599581D3EE3FDB'
>>>
Цитата Сообщение от Xcopy Посмотреть сообщение
Код
The current URL, moneyAuth/
пишет, что ищется неполная часть
1
0 / 0 / 0
Регистрация: 23.05.2013
Сообщений: 19
29.09.2013, 20:48  [ТС] 5
Цитата Сообщение от accept Посмотреть сообщение
пишет, что ищется неполная часть
Но почему?
я же пишу полный url...
0
620 / 474 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
29.09.2013, 21:10 6
Xcopy, давно ли GET параметры в шаблон url пихают?

Добавлено через 1 минуту
Пишите шаблон url, без GET параметров, а все GET параметры в request.GET( это словарь, там имя: значени) содержаться.

Добавлено через 2 минуты
Т.е. url
Код
/helloWorld/?code=1&fin=2
шаблон
Python
1
(r'^helloWorld/$','function')
Python
1
2
3
if request.GET:
    code = request.GET['code']
    fun = request.GET['function']
1
0 / 0 / 0
Регистрация: 23.05.2013
Сообщений: 19
29.09.2013, 21:18  [ТС] 7
Цитата Сообщение от Wolkodav Посмотреть сообщение
Xcopy, давно ли GET параметры в шаблон url пихают?
Вот тут научили: http://djbook.ru/rel1.5/intro/tutorial03.html

Попробую сделать по вашему.

Добавлено через 4 минуты
Wolkodav, огромное спасибо!
Сделал как написали вы и сразу получилось!!!
0
620 / 474 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
29.09.2013, 21:22 8
Там ни слово про GET параметры не сказано. Там сказано про url типо
Код
/helloWorld/5/
Тогда шаблон:
Python
1
(r'^/helloWorld/(?P<numer>\d+)/$','function')
здесь не GET параметры описаны.

Добавлено через 3 минуты
Xcopy, Почитай про http, про GET and Post параметры. Просто это немного разные вещи.
1
0 / 0 / 0
Регистрация: 23.05.2013
Сообщений: 19
29.09.2013, 22:57  [ТС] 9
Цитата Сообщение от Wolkodav Посмотреть сообщение
Почитай про http, про GET and Post параметры. Просто это немного разные вещи.
Хорошо.
Просто я знаю, что GET в URL передается, вот видимо и спутал.
Спасибо еще раз!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.09.2013, 22:57

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Регулярное выражение: выбрать часть строки
Есть такая строка, нужно вывести из нее «какой-то текст». Пробовал так: var regular = '/&lt;span...

Регулярное выражение,составление ссылки
Привет,можете помочь или наведите к истине)Вот у нас есть файл,из него мы добываем ссылки,каждая...

Регулярное выражение для ссылки
Здравствуйте. Со страницы нужно достать все url-ы для этого использую preg_match_all() . Но с...

Регулярное выражение: вырезать текст из ссылки
Здравствуйте. Не могу разобраться с регулярными выражениями... Пример: $text = '&lt;a...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.