boost库,正则表达式,为何无法正确工作?
// boost::regex expression("^select ([a-zA-Z]*) from ([a-zA-Z]*)");
boost::regex expression("str(.)ng");
// CString in = "select gm from tab";
CString in = "Here is a string to match.";
CString sRet;
boost::cmatch what;
bool blRet = boost::regex_match(LPCSTR(in), what, expression);
if(blRet) //CString转string
{
for(int i=0;i<what.size();i++)
{
sRet = (what.str()).c_str();
MessageBox(sRet);
}
}
else
{
MessageBox("Error Input");
}
编译连接都没有问题,分别使用了上面两个正则表达式和字符串进行测试,但是为何得不到正确的结果呢?总是得到 Error Input
boost::regex expression("str(.)ng");
// CString in = "select gm from tab";
CString in = "Here is a string to match.";
CString sRet;
boost::cmatch what;
bool blRet = boost::regex_match(LPCSTR(in), what, expression);
if(blRet) //CString转string
{
for(int i=0;i<what.size();i++)
{
sRet = (what.str()).c_str();
MessageBox(sRet);
}
}
else
{
MessageBox("Error Input");
}
编译连接都没有问题,分别使用了上面两个正则表达式和字符串进行测试,但是为何得不到正确的结果呢?总是得到 Error Input
...全文
相关推荐
Boost库学习之正则表达式
总的来说,Boost库的正则表达式功能强大且灵活,能够满足复杂文本处理的需求。
编译好的完整boost库
**正则表达式**:Boost.Regex库实现了强大的正则表达式匹配和处理。5. **日期和时间**:Boost.Date_Time库提供了处理日期和时间的类和函数。6.
boost库中的正则表达式
**正则表达式语法**:Boost库支持的正则表达式语法广泛且强大,包括常见的元字符(如`.`、`^`、`$`、`*`、`+`、`?
Linux下boost库的安装
如果在运行时遇到库文件加载问题,比如提示无法找到指定的库文件,可以尝试将`/usr/local/lib`目录下的所有boost库文件移动到`/usr/lib`目录下,这样系统在运行时可以更容易找到所需的库文件
c++正则表达式boost编译好的库和头文件及一个例子
你可以通过阅读和运行这个示例来更好地理解Boost正则表达式的使用方法。在实际项目中,确保正确链接到Boost库是非常重要的。


