小编R.P*_*.P.的帖子

C++ TR1正则表达式 - 多行选项

我以为$表示字符串的结尾.但是,下面的一段代码给出了"testbbbccc",这对我来说非常惊人......这意味着$实际上匹配行尾,而不是整个字符串的结尾.

#include <iostream>
#include <regex>

using namespace std;

int main()
{
    tr1::regex r("aaa([^]*?)(ogr|$)");
    string test("bbbaaatestbbbccc\nddd");
    vector<int> captures;
    captures.push_back(1);
    const std::tr1::sregex_token_iterator end;
    for (std::tr1::sregex_token_iterator iter(test.begin(), test.end(), r, captures); iter != end; )
    {
        string& t1 = iter->str();
        iter++;
        cout &lt;&lt; t1;
    }
} 
Run Code Online (Sandbox Code Playgroud)

我一直试图找到一个"多线"开关(实际上可以在PCRE中轻松找到),但没有成功......有人能指出我正确的方向吗?

此致,RP

c++ regex tr1

6
推荐指数
1
解决办法
4321
查看次数

标签 统计

c++ ×1

regex ×1

tr1 ×1