Получение индекса, по которому ищется шаблон - PullRequest
0 голосов
/ 30 марта 2012

Мне нужно получить индекс, по которому будет найден паттерн при повторении каждого цикла.

Я пробовал с расстояния, но получаю ошибку времени компиляции.

Какой будет лучший способ получить его?

void test2()
{
    std::string text = "I am <single angle bracket> trying to use [single square bracket] [[double square bracket]] Boost::regex library. <single angle bracket>";
    std::string::const_iterator start = text.begin();
    std::string::const_iterator end = text.end();


    boost::regex pattern("((<.*?>)|(\\[.*?\\]))");
    boost::smatch what;
    boost::match_flag_type flags = boost::match_default;

    try
    {
        if(boost::regex_search(text, what, pattern))
        {

            for(unsigned i = 0; i < what.size(); ++i)
            {
                std::cout << what[i] << std::endl;
            }

            // update search position:
            start = what[0].second;
            //std::cout << std::distance(start, end);

            // update flags: 
            flags |= boost::match_prev_avail;
            flags |= boost::match_not_bob;
        }
    }
    catch(std::runtime_error ex)
    {
    }   
}

Спасибо

...