Greta正则表达式问题(匹配字符串太长了就匹配不成功?)
情况如下:
string str("<TR>
<TD align=middle width="9%"><B><FONT color=black size=2>数字号码</FONT></B></TD>
<TD align=middle width="4%"><B><FONT color=black size=2>当前时间</FONT></B></TD>
<TD align=middle width="4%"><B><FONT color=black size=2>消费金额</FONT></B></TD>
<TD align=middle width="9%"><B><FONT color=black size=2>当前状态</FONT></B></TD></TR>");
match_results results;
rpattern pat1("<TR>((.|\n)*)?</TR>", GLOBAL | ALLBACKREFS | NOCASE );
int igroups = pat1.cgroups();
match_results::backref_type br = pat1.match( str, results);
match_results::backref_vector vector = results.all_backrefs();
match_results::backref_vector::iterator iter;
if (br.matched)
{
int i=0;
for (iter = vector.begin(); iter != vector.end(); iter++)
{
if(i%igroups != 0)
{
string strText = (*iter).str();
}
i++;
}
}
当str字符串比较长的时候,匹配是不成功的,当str减少一行后即如果
string str(("<TR>
<TD align=middle width="9%"><B><FONT color=black size=2>数字号码</FONT></B></TD>
<TD align=middle width="4%"><B><FONT color=black size=2>当前时间</FONT></B></TD>
<TD align=middle width="4%"><B><FONT color=black size=2>消费金额</FONT></B></TD>
<TD align=middle width="9%"><B><FONT color=black size=2>当前状态</FONT></B></TD></TR>");
的时候,匹配就成功,请问为什么会这样?