regex_match не работает при вводе 4r-4t-32-33-2r-r3 к примеру. С regex_search все работает, выходит ошибка в шаблоне?Absurd писал(а):Ну да, я просто скопипастил ваш регексп. R"(...)" это сравнительно новая конструкция (С++11 или 14) для "сырых" ("raw") строк С++, которые никак не обрабатываются компилятором. Для регекспов лучше использовать именно такие, поскольку язык регекспов активно использует символ '\', а это служебный символ во могих языках включая С++.
regex_search возвращает true если в исходной строке есть хотябы одно вхождение регекспа, regex_match проверяет соответствие строки регексу целиком.
Регулярные выражения
Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain
hqhihi писал(а):regex_match не работает при вводе 4r-4t-32-33-2r-r3 к примеру. С regex_search все работает, выходит ошибка в шаблоне?
Не то вводил, все работает. Спасибо
-
- Сообщения: 1213
- Зарегистрирован: 26 фев 2004, 13:24
- Откуда: Pietari, Venäjä
- Контактная информация:
hqhihi писал(а):regex_match не работает при вводе 4r-4t-32-33-2r-r3 к примеру. С regex_search все работает, выходит ошибка в шаблоне?
Нет, та что-то с параметрами не так.
Попробуй поиграться с ним, может яснее станет
https://regex101.com/r/AeLXIs/1
2B OR NOT(2B) = FF
Не, с параметрами все хорошо, в мак адресе ведь только бывает a b c d e f, а я другие вводил.Absurd писал(а):Нет, та что-то с параметрами не так.
Попробуй поиграться с ним, может яснее станет
https://regex101.com/r/AeLXIs/1