Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.97/30: Рейтинг темы: голосов - 30, средняя оценка - 4.97
4 / 4 / 0
Регистрация: 14.10.2010
Сообщений: 210
1

Регулярные выражения

14.12.2011, 07:40. Просмотров 5728. Ответов 2
Метки нет (Все метки)

Надо использовать регулярное выражение, но что-то не получается.
Подскажите плиз.
Примеры что нашел в интернете, не работают
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.12.2011, 07:40
Ответы с готовыми решениями:

Регулярные выражения
Доброго времени суток друзья. С регулярными выражениями никогда не работал поэтому обращаюсь к Вам....

Регулярные выражения
Нужно сделать интерпретатор, который дает возможность искать текст с помощью регулярных выражений....

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

Регулярные выражения C++ Builder XE3
Помогите, пожалуйста. Перечитал уже кучу форумов и советов. Необходимо в StringList проверить i-тую...

2
LK
Заблокирован
14.12.2011, 08:45 2
Назначение
Синтаксис регулярных выражений
Интерфейс
ЧАВО
и т.д. ...
В принципе рег. выражения позволяют создавать и использовать любые шаблоны, на то они и рег. выражения . Ниже привожу изыскания г-на Garik'а aka Просто Хороший Человек, помещённые им в форуме *********:

"Итак, для себя я выбор сделал, хочу поделиться результатами своих изысканий - может кому еще пригодится.
Кстати, сразу извиняюсь за некоторые неточности - немного торопился.

Итак, открывает список библиотека RegEx.
Сайт: http://www.gnu.org/directory/regex.html
В исходниках, распространяется по лицензии GNU.
Насколько мне удалось разобраться, эта библиотека является прародительницей почти всех остальных библиотек для работы с регулярными выражениями.
Структура библиотеки предельно проста - всего 2 файла: H и CPP.
Однако, на этом плюсы этой библиотеки, которые мне удалось найти, заканчиваются и начинаются минусы. Библиотека очень старая! Последняя версия 0.12 датируется апрелем 1993 года. Библиотека абсолютно не заточена под современные среды разработки. Кроме того, очень мало документации и совсем нет примеров (что, впрочем, характерно для проектов GNU).

Следующая библиотека - RX (не путать с RXlib для Delphi).
Сайт: http://www.gnu.org/directory/rx.html
Это тоже GNU-проект. Насколько я понял, базируется на RegEx.
Все те же недостатки, плюс сложная структура библиотеки - много файло, назначение которых непонятно. Документации минимум.
Библиотека поновее RexEx, но тоже очень старая - последняя версия 1.5 датирована ноябрем 1996 года.

Далее идет PCRE (Perl Compatible Regular Expressions).
Сайт: http://www.pcre.org
Распространяется по лицензии SourceForge, но есть версия и на GnuWin32.
Библиотека полностью поддерживает синтаксис регулярных выражений Perl5. Нормально поддерживается - последняя версия 4.5 датирована маем 2003 года. С документацией и примерами, правда, тоже туговато. Как и с адаптацией к средствам разработки под Windows (ориентирована библиотека в основном на Unix-компиляторы).

Далее по списку - GRETA.
Сайт: http://research.microsoft.com/projects/greta/
Библиотека Microsoft, распространяется бесплатно в составе пакета PowerTools.
Библиотека небольшая, достаточно простая, поддерживает синтаксис Perl5, заточена под среду Visual C++. В документации написано, что она самая быстрая из всех (не проверял). Из недостатков отмечу только отсутствие в документации примеров.
Последняя версия - 2.6.4, датирована июлем 2003 года.

И наконец, на сладкое - то, на чем я остановил свой выбор - библиотека Boost.
Сайт: http://www.boost.org
Как любезно поянил мне Влад, эта библиотека - набор компонентов, которые проходят обкатку перед включением в Стандарт C++. В числе прочих там есть библиотека Boost.Regex для работы с регулярными выражениями.
Библиотека шаблонная, поэтому может работать с любыми типами строк. Возможностей очень много. Плюс хорошая документация с большим количеством примеров.
Библиотека заточена под множество современных сред, в том числе Visual C++ и C++Builder. Ставится легко и без проблем (проверял).
Кроме того, отлично поддерживается - последняя версия - 1.31.0 от 26.01.2004.
Ничего лучше я не нашел. Потому на ней и остановился.
"

Мне понравилась GRETA, по объёму она на библиотеку не тянет, зато подключать и работать с ней удобнее, чем например Boost.regex. Самое то, если не хочется сильно отвлекаться от создаваемой проги. GRETA не работает в Builder'e, я хотел использовать - ан не получается.

Зато Boost.regex можно использовать на 4 компиляторах. Пробовал в Builder'е, вроде работает.

А с PCRE у меня (в VC++) пробема: рег. выражение после использования не хочет освобождать память, даже если использовать предусмотренную для этого фичу, в цикле кошмар получается .
Вот здесь об этой библиотеке на русском языке.
http://www.webcode.ru/re/pcre/
1
4 / 4 / 0
Регистрация: 14.10.2010
Сообщений: 210
19.12.2011, 08:38  [ТС] 3
поставил boost

но переменную типа
boost::regex exrp( "L" );
компилятор не знает и в regex.h такого типа нет

и при подключении #include <boost/regex.hpp>
выдает кучу ошибок
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.12.2011, 08:38

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

Регулярные выражения для парсера html
Здравствуйте, не давно начал изучать c++ и решил сделать не большой парсер html(в данном случае...

Регулярные выражения аналог preg_match в C++ Builder
Появилась необходимость в регулярных выражениях. И решил на будущее сделать аналог из PHP -...

Чтение файла в потоке и регулярные выражения
Доброго времени! Дали задание написать небольшой парсер из файла. Файл не текстовый, а результат...

Регулярные выражения: проверить, является ли введенное значение телефонным номером с кодом
Всем доброго времени суток! Изучаю регулярные выражения, подключил к Билдеру модуль...


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

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

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