Подскажите, почему код:
regex wrong("[a-z]{4,}");
string s="hYhghgZ";
if(regex_match(s, wrong)) cout << "wrong " << endl;
else cout << "ok";
выдает ok
, хотя в строке hYhghgZ
есть подходящий фрагмент "hghg"?
Это все потому, что regex_match()
- ищет полное совпадение строк. Он не ищет шаблон в части строки. Для поиска подстроки используйте regex_search()
.
На cppreference честно пишут:
Note that regex_match will only successfully match a regular expression to an entire character sequence, whereas std::regex_search will successfully match subsequences.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Подскажите программу с помощью которой можно русифицировать файлы (dll и
уже все примеры перепробовал, ну никак не получается, у меня есть QT 511
Мне нужно в деке указателей найти указатель на элемент, переданный в функцию, и из одного дека этот указатель переместить в другой