text: Поддерживает PCRE, POSIX BRE и ERE Пример программы для разбора текста: #include <boost/regex.hpp> #include <vector> #include <string> // Пример программы разбора URL int main(int argc, char** argv) { // Проверка на число параметров if (argc < 2) return 0; // Контейнер для значений std::vector<std::string> values; // Выражение для разбора boost::regex expression( // proto host port "^(?:(+)://)?(\\w+*)(?::(\\d+))?" // path file parameters "(/?(?:*/)*)?(*)?(\\?(.*))?" ); // Формирование исходной строки для разбора (берется из командной строки) std::string src(argv); // Разбор и заполнение контейнера if (boost::regex_split(std::back_inserter(values), src, expression)) { // Вывод результата const char* names = {"Protocol", "Host", "Port", "Path", "File", "Parameters", NULL}; for (int i = 0; names; i++) printf("%s:%s\n", names, values.c_str()); } return 0; } Подробнее Boost.Regex.