Форум программистов, компьютерный форум CyberForum.ru

Функция для поиска по регулярному выражению - C++

Восстановить пароль Регистрация
 
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
31.07.2013, 14:31     Функция для поиска по регулярному выражению #1
Здорова господа!
Нужно написать свою собственную функцию для поиска по регулярному выражению.
Какой алгоритм? Как мне обрабатывать само регулярное выражение, ну от допустим отакое"[N,n]ame:*" - соответствует подстроке Name, Name:, name:::::: и т.д. Как организовать поиск в подстроке?

От если будет у меня строка "hellow .Name::: gacpada", то при вызове этой функции с рв которое выше должно вроде вернутся подстрока ".Name:::".

Добавлено через 6 минут
И еще нужно подключить библиотеку регулярных выражений и воспользоваться поиском по образцу, для поиска выражений в строке, ну либо попытаться эту функцию написать на основе библиотечно, это уже как бы другая задача.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.07.2013, 14:31     Функция для поиска по регулярному выражению
Посмотрите здесь:

Функция для поиска ближайших простых чисел C++
C++ функция поиска для отсортированных массивов?
Рекурсивная функция для последовательного поиска в массиве из n целых чисел C++
C++ Загрузка процессора при поиске по регулярному выражению
C++ Нужна программа, которая по регулярному выражению находит все совпадения в строке
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5548 / 2562 / 233
Регистрация: 01.11.2011
Сообщений: 6,333
Завершенные тесты: 1
31.07.2013, 14:59     Функция для поиска по регулярному выражению #2
Ну я думаю алгоритм прост:
1) Искать вхождение ame:
2) Смотреть есть ли слева от него N или n
3) Отсчитывать вправо, если есть, двоеточия сколько будет подряд
0x10
2425 / 1597 / 232
Регистрация: 24.11.2012
Сообщений: 3,919
31.07.2013, 15:03     Функция для поиска по регулярному выражению #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
SatanaXIII, это алгоритм для поиска по конкретной регулярке.

В общем случае один из вариантов - построение конечного автомата по регулярному выражению. Сходу мне попалась вот такая статья, даже есть какие-то примеры кода: http://swtch.com/~rsc/regexp/regexp1.html

И да: настоятельно рекомендую эту задачу отложить на полгода-год.
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
31.07.2013, 15:17  [ТС]     Функция для поиска по регулярному выражению #4
Цитата Сообщение от 0x10 Посмотреть сообщение
И да: настоятельно рекомендую эту задачу отложить на полгода-год.
Да наверно и правда отложу, сделаю просто для конкретного случая.
Попытаюсь изучить щас <regex>, оказывается прикольная библиотека. Я раньше регулярные выражения изучал и хорошо их знал, книгу прочитал http://www.ozon.ru/context/detail/id/4066500/ , мог любое выражение написать, а щас призабыл. Но это на пхп было, там свои preg_match(), а от в С++ я пытался заюзать РВ, буст как то подключил, да терпения не хватил, ничо <regex> разберусь уже по нормальному.

А есть в stl библиотека типа curl в пхп или сокетов? Нужно HTML страницу считать. В буст я знаю что есть.
0x10
31.07.2013, 15:19     Функция для поиска по регулярному выражению
  #5

Не по теме:

Цитата Сообщение от ninja2 Посмотреть сообщение
Я раньше регулярные выражения изучал и хорошо их знал, книгу прочитал
Хорошая книга, когда на перле писал, тоже читал ее.

Цитата Сообщение от ninja2 Посмотреть сообщение
А есть в stl библиотека типа curl в пхп или сокетов?
Нет. Дернуть веб-страничку - libcurl должно хватить.

Yandex
Объявления
31.07.2013, 15:19     Функция для поиска по регулярному выражению
Ответ Создать тему
Опции темы

Текущее время: 08:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru