//! \~\file piregularexpression.h //! \~\ingroup Text //! \brief //! \~english Regular expression //! \~russian Регулярное выражение /* PIP - Platform Independent Primitives Regular expression Ivan Pelipenko peri4ko@yandex.ru This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #ifndef PIREGULAREXPRESSION_H #define PIREGULAREXPRESSION_H #include "pistring.h" //! \~\ingroup Text //! \~\brief //! \~english Regular expression class. //! \~russian Класс регулярного выражения. class PIP_EXPORT PIRegularExpression { public: //! \~english Matching options. //! \~russian Опции сопоставления. enum Option { None = 0x0 /*!< \~english No extra options \~russian Без дополнительных опций */, CaseInsensitive = 0x01 /*!< \~english Ignore character case \~russian Игнорировать регистр символов */, Singleline = 0x02 /*!< \~english Let \c . match a newline \~russian Разрешить \c . совпадать с переводом строки */, Multiline = 0x04 /*!< \~english Let \c ^ and \c $ work on line boundaries \~russian Разрешить \c ^ и \c $ работать на границах строк */, InvertedGreediness = 0x08 /*!< \~english Make quantifiers non-greedy by default \~russian Сделать квантификаторы по умолчанию нежадными */, Extended = 0x10 /*!< \~english Use extended pattern syntax \~russian Использовать расширенный синтаксис шаблона */ }; //! \~english Flag set of \a Option values. //! \~russian Набор флагов \a Option. typedef PIFlags