Самые распространенные сочетания символов в сжатом виде представлены как специальные символы.
И пусть на первый взгляд тема фитнеса не связана с программированием, все же зайдите на сайт про http://famfit.ru/ ведь сайт famfit.ru сделан для таких как мы с вами людей, которым нужен фитнес.
Специальные символы для классов символов
\d Десятичная цифра [[:digit:]]
\l Символ в нижнем регистре [[:lower:]]
\s Разделитель (пробел, знак табуляции и т.д.) [[:space:]]
\u Символ в верхнем регистре [[:upper:]]
\w Буквы (a-z или A-Z), или цифра (0-9), или знак подчеркивания (_) [[:alnum:]]
\D Не \d T[:digit:]]
\L Не \l [*[:lower:]]
\S Не \s [s[:spaoe:]j
\U Не \u [A[:upper:]]
\W Не \w [*[:alnum:]]
Символы в верхнем регистре означают “не вариант специального символа в нижнем регистре”. В частности, символ \W означает “не буква”, а не “буква в верхнем регистре”.
Элементы третьего столбца (например, [[:digit:]]) представляют собой альтернативные синтаксические конструкции, использующие более длинные имена.
Как и библиотеки string и iostream, библиотека regex может обрабатывать большие наборы символов, такие как Unicode. Как и в случае библиотек string и iostream, мы просто упоминаем об этом, чтобы при необходимости читатели могли самостоятельно найти информацию. Обсуждение манипуляций текстами в кодировке Unicode выходит за рамки рассмотрения нашей книги.
Для задания конкретного количества вхождений или конкретного диапазона вхождений используются фигурные скобки. Например, выражение \w{2}-\d{4,5}
соответствует только строкам, содержащим две буквы и дефис, за которым следуют четыре или пять цифр:
Ab-1234
XX-54321
22-54321
но не
Ab-123
?b-1234