regex regExp;
regExp.assign("=\\?([a-zA-Z0-9_-]+)\\?B\\?(.*?)\\?=(.*)");
Вопрос по разбору строки регекспом. Boost.
Цитата:
=?UTF-8?B?RHJhZ2/ImSBSb2NrIHdybw==?= =?UTF-8?B?dGUgb24geW91ciBXYWxs?=
=?UTF-8?B?Li4u?=
Так-же имеется следующий код:
Код:
При помощи regex_match я пытаюсь повыдёргивать из закодированной строки всю нужную инфу (т.е. всё что между =?UTF-8?B? и ?=).
Функция regex_match и регулярное выражение показаное выше помогают достать только RHJhZ2/ImSBSb2NrIHdybw==, т.е. только первый кусок, а сообщение, как вы видите, состоит из трёх кусков.
Вопрос - как можно достать все совпадения? Может нужно как-то дополнить(модифицировать) regexp?
regex_match заменён на while( regex_search(...) ) , таким образом удалось найти ВСЕ совпадения выражения в строке.