|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
10.05.2016, 01:03 | #1 |
Форумчанин
Регистрация: 11.05.2013
Сообщений: 154
|
Регулярное выражение
Всем привет.
Давно уже мучаюсь с этой проблемой, и никак не могу найти ответа, поэтому прошу помощи у вас. Собственно, есть некий URL (любой), из которого необходимо получить только доменное имя, отсекая все лишнее. И есть регулярное выражение, которое, по идее, должно это делать: Код:
Код:
Код:
Код:
Но если написать регулярку таким образом: Код:
Код:
Продолжаем тест. Пишем регулярное выражение: Код:
Код:
Этому всему есть какое-то логическое объяснение? И как все-таки написать регулярку с использованием regex (не прибегая к Boost, и не шаманя с регулярками Perl)? |
11.05.2016, 23:35 | #2 |
Форумчанин
Регистрация: 11.05.2013
Сообщений: 154
|
Проблема все еще актуальна. Может хоть какие-то мысли есть по этому поводу?
|
12.05.2016, 00:02 | #3 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
1) Покажите код.
2) Не могу понять, что значит "?:" в самом начале регулярки.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
12.05.2016, 00:21 | #4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
игнорируемая группа.
я попробую после поразбирать, а разве в С++ нет готового Uri парсера(ну библиотеки)? Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
12.05.2016, 02:07 | #5 | |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
Цитата:
Вообще-то в Си регулярки не пишутся. Не для того он предназначен, хотя, в принципе и можно. Но лучше писать их на PHP. Апачь "сам знает" как обработать символы регулярки. Будешь писать на Си, придётся встраивать библиотеки Апуч-а. Как минимум три. И не факт, что они будут работать на всех компах.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
|
12.05.2016, 03:22 | #6 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
сейчас приняты в стандарт std::regex. ну и про Uri https://ru.wikipedia.org/wiki/URI да и для справки движок регулярок для PHP это обычно pcre, который написан на С. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. Последний раз редактировалось Пепел Феникса; 12.05.2016 в 03:35. |
|
12.05.2016, 03:37 | #7 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
Да, сложновато уже из него выходить . Когда входил, было всё в радужных цветах. Сейчас, почему-то, всё в чёрно-белую полосочку больше.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
12.05.2016, 05:29 | #8 |
Форумчанин
Регистрация: 14.12.2012
Сообщений: 668
|
Регулярки в std c++ сырые (как там в boost не знаю), ковырял как-то. Интересно то, что криво (на мой взгляд) работает и egrep у меня на линуксе
Код:
|
12.05.2016, 07:22 | #9 |
Форумчанин
Регистрация: 11.05.2013
Сообщений: 154
|
Код функции:
Код:
|
12.05.2016, 07:51 | #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 |