我使用pcrecpp c ++(PCRE lib)
我需要在周期中获得所有比赛。我该怎么办?
例如模式:
“你好”
和主题:
“你好,你好,你好”
循环应循环3次(因为3次匹配)
你好
你好
3你好
伪代码
pcrecpp::RE pPattern ( "hello" );
std::string strBase = "hello hello hello";
// ...
int iMatches = // Match count
for ( int i = 1; i < iMatches; i++ )
{
printf( "%d %s", i, pPattern[ i ].c_str () );
}
请给我一些示例代码,了解如何使用pcrecpp.h。
对不起,我的英语不好。
答案 0 :(得分:3)
虽然这个问题已经有几个月了,但我会在这里提供一个解决方案:
#include <pcrecpp.h>
#include <iostream>
int main(void)
{
pcrecpp::RE regex("(hello)");
std::string strBase = "hello hello hello";
pcrecpp::StringPiece input(strBase);
std::string match;
int count = 0;
while (regex.FindAndConsume(&input, &match)) {
count++;
std::cout << count << " " << match << std::endl;
}
}
有关详细信息,this site可能有所帮助。