C++ 正则匹配失败

幻想者_ 2014-04-26 11:02:46
C++ boost正则 regex_match 怎么用啊...
我用时总是返回 false
这个是我写的代码,正则表达式好像没错啊...我用工具调试都可以
#include <iostream>
#include <string>
#include <regex>
using namespace std;
int main()
{
string strText("百度:http://www.baidu.com\r\n谷歌:http://www.google.com");
regex strRegex("([a-z].*)");
cmatch mat;
bool a = regex_match(strText.c_str(), mat, strRegex);
cmatch::iterator itr = mat.begin();
for (; itr != mat.end(); ++itr)
{
cout << itr->first - strText.c_str() << ' ' << itr->second - strText.c_str() << ' ' << *itr << endl;
}

return 0;
}
...全文
155 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
taodm 2014-04-26
  • 打赏
  • 举报
回复
要认真看boost的文档。 match和search的区别。
笑梦码侬生 2014-04-26
  • 打赏
  • 举报
回复
regex_match函数,完全匹配正确才返回正确。
幻想者_ 2014-04-26
  • 打赏
  • 举报
回复
引用 5 楼 yangyuyu77584 的回复:
[quote=引用 4 楼 a18908495920 的回复:] [quote=引用 2 楼 taodm 的回复:] 要认真看boost的文档。 match和search的区别。
函数 boost::regex_match() 用于字符串与正则表达式的比较。 在整个字符串匹配正则表达式时其返回值为 true 。 函数 boost::regex_search() 可用于在字符串中搜索正则表达式。 是不是我写的正则表达式,不能让boost匹配成功? 要怎么样写呢?[/quote] 你都说了,为什么还不明白呢? 你上面strText包含中文,你的正则式是只含英文,怎能比对成功呢???[/quote] 了解了...感谢
笑梦码侬生 2014-04-26
  • 打赏
  • 举报
回复
引用 4 楼 a18908495920 的回复:
[quote=引用 2 楼 taodm 的回复:] 要认真看boost的文档。 match和search的区别。
函数 boost::regex_match() 用于字符串与正则表达式的比较。 在整个字符串匹配正则表达式时其返回值为 true 。 函数 boost::regex_search() 可用于在字符串中搜索正则表达式。 是不是我写的正则表达式,不能让boost匹配成功? 要怎么样写呢?[/quote] 你都说了,为什么还不明白呢? 你上面strText包含中文,你的正则式是只含英文,怎能比对成功呢???
幻想者_ 2014-04-26
  • 打赏
  • 举报
回复
引用 2 楼 taodm 的回复:
要认真看boost的文档。 match和search的区别。
函数 boost::regex_match() 用于字符串与正则表达式的比较。 在整个字符串匹配正则表达式时其返回值为 true 。 函数 boost::regex_search() 可用于在字符串中搜索正则表达式。 是不是我写的正则表达式,不能让boost匹配成功? 要怎么样写呢?
幻想者_ 2014-04-26
  • 打赏
  • 举报
回复
引用 1 楼 yangyuyu77584 的回复:
regex_match函数,完全匹配正确才返回正确。
那要怎样做呢?

65,208

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧