Re: Почему срабатывает regex ?
От: Хреннос  
Дата: 09.02.14 19:59
Оценка: +1
Здравствуйте, sjukov, Вы писали:

S>std::regex re ("(\\d+?),(.*?),(.*?),(.*?),(.*?)$") ;

S>Для такой строки
S>std::string sStr = "[xxx]:6,000000000,A,,TEST MESSAGE";
S>Ведь в первом параметре говорится что должны быть цифры, а там фигня другая.

Там таки да, говорится, что должны быть цифры (хоть одна) перед запятой.
Там таки не говорится, что до цифр не может идти какой-нибудь мусор.

Если хотите, чтобы регексп срабатывал от самого начала строки, то надо вставить каретку:
std::regex re ("^(\\d+?),(.*?),(.*?),(.*?),(.*?)$") ;
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.