regexp
От: Logot Украина  
Дата: 19.09.16 10:46
Оценка:
Привет

Помогите составить регулярное выражение
Нужно проматчить эту строку

a=candidate:1 1 UDP 2130706431 192.168.252.163 18194 typ host

Чтобы отличить ее от

a=candidate:ng+ja0TJ15HOBfDdGn3Ja8uLinQiIvGFjpm4kUinvAE 1 nAtYA9ltLr7LHo63anMEnQ UDP 0.830 192.168.252.163 16166


1 1 — это символы, не числа
UDP — может быть UDP, TCP-PASS, TCP-ACT
2130706431 — число
192.168.252.163 — IP v4
host — можеть быть host, relay, srflx

            char const* expression = R"(^a=candidate:(\w|\+|\/){1,32}\s\d{1,5}\s(UDP|([-.!%*_+'~\w]+))\s\d{1,10}\s)";
            if (std::regex_match(sdp_session->dataBlob, std::regex(expression)))
            {
                return index;
            }
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.