正则表达式左部分匹配
给一个正则表达式,输入字符串,只要从左至右满足部分匹配就可以,一直到完全匹配。
boost中boost::regex_search查询部分匹配。
例:
std::string str = "-"; [这里传入"-"时boost::regex_search没有一个部分匹配,但传入"-1"确有3个部分匹配的。]
string strExpress("(\\-)([0-9]+)(.([0-9]+))*");
boost::regex expression( strExpress );
boost::smatch what;
if ( boost::regex_search(str, what, expression) )
{
}
为什么会出现的这样的情况,是我的正则表达式写的有问题,还是boost::regex_search不支持这种左匹配查询,我希望"-"也能部分匹配成功,因为它满足左边第一个表达式。
请各位大虾不吝指教,谢谢!! 正则表达式 Boost RegEx String 搜索
[解决办法]
boost文档有答案,要启用一个啥参数的。自己慢慢搜文档吧。