![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 11.05.2013
Сообщений: 154
|
![]()
Всем привет.
Давно уже мучаюсь с этой проблемой, и никак не могу найти ответа, поэтому прошу помощи у вас. Собственно, есть некий URL (любой), из которого необходимо получить только доменное имя, отсекая все лишнее. И есть регулярное выражение, которое, по идее, должно это делать: Код:
Код:
Код:
Код:
Но если написать регулярку таким образом: Код:
Код:
Продолжаем тест. Пишем регулярное выражение: Код:
Код:
Этому всему есть какое-то логическое объяснение? И как все-таки написать регулярку с использованием regex (не прибегая к Boost, и не шаманя с регулярками Perl)? |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 11.05.2013
Сообщений: 154
|
![]()
Проблема все еще актуальна. Может хоть какие-то мысли есть по этому поводу?
|
![]() |
![]() |
![]() |
#3 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,429
|
![]()
1) Покажите код.
2) Не могу понять, что значит "?:" в самом начале регулярки.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
игнорируемая группа.
я попробую после поразбирать, а разве в С++ нет готового Uri парсера(ну библиотеки)? Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#5 | |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
![]() Цитата:
Вообще-то в Си регулярки не пишутся. Не для того он предназначен, хотя, в принципе и можно. Но лучше писать их на PHP. Апачь "сам знает" как обработать символы регулярки. Будешь писать на Си, придётся встраивать библиотеки Апуч-а. Как минимум три. И не факт, что они будут работать на всех компах.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
|
![]() |
![]() |
![]() |
#6 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]() Цитата:
сейчас приняты в стандарт std::regex. ну и про Uri https://ru.wikipedia.org/wiki/URI да и для справки движок регулярок для PHP это обычно pcre, который написан на С. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. Последний раз редактировалось Пепел Феникса; 12.05.2016 в 03:35. |
|
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
![]()
Да, сложновато уже из него выходить
![]()
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 14.12.2012
Сообщений: 668
|
![]()
Регулярки в std c++ сырые (как там в boost не знаю), ковырял как-то. Интересно то, что криво (на мой взгляд) работает и egrep у меня на линуксе
Код:
|
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 11.05.2013
Сообщений: 154
|
![]()
Код функции:
Код:
|
![]() |
![]() |
![]() |
#10 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
бустовский регекс как раз и перекочевал в стандарт.(точнее его часть, вроде как)
Цитата:
попробуйте так. http://ideone.com/zHf7e4 . Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. Последний раз редактировалось Пепел Феникса; 12.05.2016 в 08:20. |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Регулярное выражение | sanek_da | Помощь студентам | 0 | 23.11.2013 17:17 |
Регулярное выражение | D_E_N | Общие вопросы Delphi | 5 | 19.11.2013 17:31 |
Регулярное выражение | xlebobulka | Microsoft Office Excel | 5 | 02.08.2013 18:32 |
регулярное выражение | Mortimoro | JavaScript, Ajax | 3 | 22.06.2013 09:16 |
Регулярное выражение | kpachbiu | PHP | 2 | 08.02.2011 21:36 |