作者apenptt (笔)
看板C_and_CPP
标题[问题] boost regex的match
时间Sun Apr 26 00:46:21 2009
想请问对boost regex有研究的前辈
我在boost regex的手册里看到一个范例
if(boost::regex_match(text, what, e, boost::match_extra))
{
unsigned i, j;
std::cout << "** Match found **\n Sub-Expressions:\n";
for(i = 0; i < what.size(); ++i)
cout << " $" << i << " = \"" << what[i] << "\"\n";
}
当text="aBBcccDDDDDeeeeeeee"
RE=(([[:lower:]]+)|([[:upper:]]+))+"
得到what中的内容:
$0 = "aBBcccDDDDDeeeeeeee"
$1 = "eeeeeeee"
$2 = "eeeeeeee"
$3 = "DDDDD"
不懂的是为什麽what[1]是印出eeeeeeee
what[1]存放的是符合第一个括号的东西吧?!
麻烦前辈指点一二,感激不尽!!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.113.217.27
1F:→ tinlans:你没看清楚那个说明的整段内容吗? 04/26 17:38
2F:→ tinlans:and all the previous captures will have been forgotten 04/26 17:38
3F:→ tinlans:关於上面这段话附近的说明。 04/26 17:38