C++ regex: как создать условие, в котором точка и дефис не могут находиться рядом?
В языке программирования C++ существует библиотека regex, которая позволяет работать с регулярными выражениями. Регулярные выражения — это мощный инструмент для поиска и обработки строковых данных. В данном случае мы рассмотрим, как создать условие с использованием C++ regex, чтобы точка и дефис не могли находиться рядом в строке.
Для начала, нам понадобится подключить заголовочный файл regex:
#include <regex>
Затем мы можем создать регулярное выражение с использованием функции std::regex_search
. Для того чтобы точка и дефис не могли находиться рядом, мы можем использовать отрицательное просмотр вперед (negative lookahead
). Отрицательный просмотр вперед позволяет определить, что после точки не следует дефис, и наоборот:
std::string input = "example.";
std::regex pattern("\\.(?!-)|-(?!\.)");
if (std::regex_search(input, pattern)) {
std::cout << "Условие нарушено: точка и дефис находятся рядом!";
} else {
std::cout << "Условие выполняется: точка и дефис не находятся рядом.";
}
В данном примере переменная input
содержит строку, которую мы хотим проверить. Затем мы создаем регулярное выражение pattern
, которое состоит из двух частей: "\\.(?!-)"
и "-(?!\.)"
. Обратите внимание на использование двойной слеша перед точкой и дефисом. Это связано с тем, что в регулярных выражениях символы точки и дефиса имеют специальное значение.
Выражение "\\.(?!-)"
означает точку, которой НЕ следует дефис. Отрицательное просмотр вперед (?!)
указывает, что после точки должен отсутствовать дефис.
Выражение "-(?!\.)"
означает дефис, которому НЕ предшествует точка. Опять же, (?!)
используется для отрицательного просмотра вперед.
Затем мы используем функцию std::regex_search
для поиска соответствия регулярному выражению в нашей проверяемой строке. Если обнаруживается соответствие, значит условие нарушено, и мы выводим сообщение об этом. В противном случае условие выполняется, и выводится соответствующее сообщение.
Таким образом, мы создаем условие в регулярном выражении с использованием C++ regex, чтобы точка и дефис не могли находиться рядом в строке. Это всего лишь один из множества примеров того, как можно использовать regex для обработки и валидации строковых данных.
- Помогите где купить биткоин?
- Почему как только я пытаюсь поцеловать девушку и пощупать за попку, то сразу получаю от неё по морде?
- Семейный бюджет: как научиться отвечать на вопросы
- Как сделать завтрак ‘K-POP BOY’?
- Как всегда подскажите фильм
- Подскажите на каком сайте можно смотреть бесплатно онлайн канал СТБ? Надо срочно!!!!