Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpSpRgChSI 9 of 696 menu
◀ ▶

Инвертирование наборов символов в регулярках

Инвертирование набора задают символом ^ сразу после '['. Если, к примеру, команда [ab] ищет букву 'a' или 'b', то команда [^ab] будет искать все символы, кроме 'a' и 'b'.

В данном примере шаблон поиска выглядит так: буква 'x', затем НЕ буква 'a', не 'b' и не 'c', потом буква 'z':

std::string txt = "xaz xbz xcz xez" std::regex re(R"(x[^abc]z)"); std::string res = std::regex_replace(txt, re, "!"); std::cout << res << "\n";

Результат выполнения кода:

'xax xbx xcx !'

В данном примере шаблон поиска выглядит так: буква 'x', затем НЕ маленькая латинская буква, потом буква 'z':

std::string txt = "xaz xbz x1z xCz" std::regex re(R"(x[^a-z]z)"); std::string res = std::regex_replace(txt, re, "!"); std::cout << res << "\n";

Результат выполнения кода:

'xaz xbz ! !'

Напишите регулярку, которая найдет строки по шаблону: цифра 1, затем символ не 'e' и не 'x', цифра 2.

Напишите регулярку, которая найдет строки по шаблону: буква 'x', затем НЕ цифра от 2 до 7, буква 'z'.

Напишите регулярку, которая найдет строки по шаблону: буква 'x', затем НЕ большая латинская буква от 1 и более раз, буква 'z'.

Напишите регулярку, которая найдет строки по шаблону: буква 'x', затем НЕ большая или маленькая латинская буква и не цифра от 1 до 5 от 1 и более раз, буква 'z'.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить