/*! \file pistring.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 Regular expression class //! \~english Class for working with regular expressions //! \~russian Класс для работы с регулярными выражениями //! class PIP_EXPORT PIRegularExpression { public: //! \brief //! \~english Options for regular expression matching behavior //! \~russian Опции поведения регулярного выражения enum Option { None = 0x0, /*!< \~english No special options \~russian Без специальных опций */ CaseInsensitive = 0x01, /*!< \~english Case insensitive matching \~russian Регистронезависимое сопоставление */ Singleline = 0x02, /*!< \~english Dot matches newline \~russian Точка соответствует символу новой строки */ Multiline = 0x04, /*!< \~english ^ and $ match at line boundaries \~russian ^ и $ соответствуют границам строк */ InvertedGreediness = 0x08, /*!< \~english Quantifiers are non-greedy by default \~russian Квантификаторы по умолчанию нежадные */ Extended = 0x10 /*!< \~english Extended pattern syntax \~russian Расширенный синтаксис шаблона */ }; //! \brief //! \~english Combination of regular expression options //! \~russian Комбинация флагов опций регулярного выражения typedef PIFlags