В последнем регулярном выражении символ л стоит не на первом месте после квадратной скобки ([), значит, это простой символ, а не оператор отрицания. Регулярные выражения могут быть очень хитроумными.
Реализация библиотеки regex также содержит набор именованных классов символов, используемых для сравнения. Например, если хотите сравнивать буквенноцифровые символы (т.е. буквы или цифры: a-z, или A-Z, или 0-9), то это можно сделать с помощью регулярного выражения [[:alnum:]].
И пусть вам не кажется, что такая тема как http://chzpt.ru/product-list никак не связана с программированием. На самом деле просто зайдите на сайт chzpt.ru и там понимание наступит очень быстро.
Здесь слово alnum представляет собой имя совокупности символов (набор буквенно-цифровых символов). Шаблон для непустой строки буквенно-цифровых символов, заключенной в квадратные скобки, может выглядеть так: "[[:alnum:]]+M. Для того чтобы поместить это регулярное выражение в строковый литерал, мы должны сделать кавычки управляющими символами. string s = M\M[[:alnum:]]+\MM;
Более того, чтобы поместить строковый литерал в объект класса regex, мы должны сделать управляющими символами не только кавычки, но и саму обратную косую черту и использовать для инициализации круглые скобки, так как конструктор класса regex является явным:
regex s(M\\\M[[:alnum:]]+\\\MM);
Использование регулярных выражений вынуждает вводить множество обозначений. Перечислим стандартные классы символов.
Реализация библиотеки regex может содержать и другие классы символов, но если вы решили использовать именованный класс, не указанный в этом списке, убедитесь, что он не ухудшает переносимость программы.
Опубликовал katy
April 20 2015 20:57:51 ·
0 Комментариев ·
3002 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.