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

Начало и конец строки в регулярках в C++

Существуют специальные символы, которые обозначают начало '^' или конец строки '$'. Посмотрим их работу на примерах.

В данном примере шаблон поиска такой: заменить 'aaa' на '!' только, если оно стоит в начале строки:

std::string txt = "aaa aaa aaa" std::regex re(R"(^aaa)"); std::string res = std::regex_replace(txt, re, "!"); std::cout << res << "\n";

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

'! aaa aaa'

В данном примере шаблон поиска такой: заменить 'aaa' на '!' только, если оно стоит в конце строки:

std::string txt = "aaa aaa aaa" std::regex re(R"(aaa$)"); std::string res = std::regex_replace(txt, re, "!"); std::cout << res << "\n";

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

'aaa aaa !'

Когда в начале регулярки стоит '^', а в конце - '$', то таким образом проверяется вся строка целиком на соответствие регулярке.

В следующем примере шаблон поиска такой: буква 'a' повторяется один или более раз, заменить всю строку на '!' только она состоит из одних букв 'a':

std::string txt = "aaa" std::regex re(R"(a+$)"); std::string res = std::regex_replace(txt, re, "!"); std::cout << res << "\n";

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

'!'

Дана строка:

std::string txt = "abc def xyz"

Напишите регулярку, которая найдет первую подстроку из букв.

Дана строка:

std::string txt = "abc def xyz"

Напишите регулярку, которая найдет последнюю подстроку из букв.

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