首页IT科技c++boost库(C++04:使用Boost-小试Regex库)

c++boost库(C++04:使用Boost-小试Regex库)

时间2025-05-05 14:07:19分类IT科技浏览3414
导读:2009-10-29 11:57...

2009-10-29 11:57

一            、编写代码

下面代码实现的功能:找出html文件中的所有链接

/* * regex_test.cpp * */ #include <iostream> #include <fstream> #include <string> #include <boost/regex.hpp> using namespace std; int main(int argc, char* argv[]) { if (argc != 2) { cerr << "usage: " << argv[0] << " <input_file>" << \n; return 1; } ifstream fin(argv[1]); if (!fin) { cerr << "open file " << argv[1] << " failed." << \n; return 1; } string content; char c; while (fin >> c) { content.push_back(c); } try { boost::regex re("href\\s*=\\s*\"([^\"]+)\"", boost::regex::icase); boost::sregex_token_iterator it(content.begin(), content.end(), re, 1, boost::match_default); boost::sregex_token_iterator end; while (it != end) cout << *it++ << endl; } catch (exception& e) { cerr << e.what() << \n; } }

二             、编译代码

$ g++ -o"regex_test" -g3 -Wall regex_test.cpp -lboost_regex

三     、运行程序 regex_test

$ ./regex_test
声明:本站所有文章        ,如无特殊说明或标注                 ,均为本站原创发布            。任何个人或组织     ,在未征得本站同意时      ,禁止复制         、盗用              、采集       、发布本站内容到任何网站      、书籍等各类媒体平台             。如若本站内容侵犯了原著者的合法权益                ,可联系我们进行处理     。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
无缝集成什么意思(Seam 无缝集成 JSF,第 3 部分: 用于 JSF 的 Ajax)