我使用boost::regex
来匹配(更好地说boost::regex_search
)文本与正则表达式。
这个不匹配,我的正则表达式非常庞大。
你知道库中是否有任何函数告诉我正则表达式的哪一部分无法匹配?
我正在使用LINUX / gcc
std::string text; // whatever
boost::regex rgx( "(\\w+) (\\d+) (\\s+)" );
boost::smatch m;
if( !boost::regex_search( text, m, rgx ) ){
// how to know where (\\w+) or (\\d+) or (\\s+) failed?
}
答案 0 :(得分:1)
据我所知,库中没有工具,但我使用的是Boost版本1.28.0。
您是否尝试独立执行(\ w +),(\ d +)和(\ s +)?其中至少有一个应该无法匹配。
答案 1 :(得分:0)
尽快抓住kiki。它是测试和玩正则表达式的宝贵工具 如果您使用的是基于debian的发行版,它应该位于基本存储库中。