The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Как составить регулярное выражение для URL"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Как составить регулярное выражение для URL"
Сообщение от Tr emailИскать по авторуВ закладки on 11-Окт-04, 12:46  (MSK)
Hi, all!

Нужно составить рег выр на tcl для разборки первой строки web-запроса вида:
GET http://foo.com/cgi/script?a=1&b=2
(возможен вариант без переменных или имени скрипта)

Самы рабочий вариант:
regexp {^(GET|POST)[ ]http://(.*)//?(.*)\??(.*)} $in_buff all method site script vars

Но при этом результат такой:
Link= GET http://yandex.ru/edditor?a=1&b=2
Method= GET
Site= yandex.ru
Script= edditor?a=1&b=2
Vars=

Т.е. site и vars не разделяются. К тому же если url имеет вид:
GET http://foo.com
то выражение не срабатывает.

Как правильно составить его?
Заранее спасибо!

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Как составить регулярное выражение для URL"
Сообщение от Vladislav Lazarenko emailИскать по авторуВ закладки on 11-Окт-04, 18:15  (MSK)
>Hi, all!
>
>Нужно составить рег выр на tcl для разборки первой строки web-запроса вида:
>
>GET http://foo.com/cgi/script?a=1&b=2
>(возможен вариант без переменных или имени скрипта)
>
>Самы рабочий вариант:
>regexp {^(GET|POST)[ ]http://(.*)//?(.*)\??(.*)} $in_buff all method site script vars
>
>Но при этом результат такой:
>Link= GET http://yandex.ru/edditor?a=1&b=2
>Method= GET
>Site= yandex.ru
>Script= edditor?a=1&b=2
>Vars=
>
>Т.е. site и vars не разделяются. К тому же если url имеет
>вид:
>GET http://foo.com
>то выражение не срабатывает.
>
>Как правильно составить его?
>Заранее спасибо!

(?:^|")(http|ftp|mailto):(?://)?(\w+(?:[\.:@]\w+)*?)(?:/|@)([^"\?]*?)(?:\?([^\?"]*?))?(?:$|")

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру