惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Engineering at Meta
Engineering at Meta
人人都是产品经理
人人都是产品经理
大猫的无限游戏
大猫的无限游戏
博客园 - 三生石上(FineUI控件)
量子位
腾讯CDC
The Cloudflare Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
云风的 BLOG
云风的 BLOG
Vercel News
Vercel News
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
L
LangChain Blog
aimingoo的专栏
aimingoo的专栏
The Hacker News
The Hacker News
T
The Exploit Database - CXSecurity.com
B
Blog
S
SegmentFault 最新的问题
P
Privacy & Cybersecurity Law Blog
T
Threatpost
博客园 - 聂微东
T
Tailwind CSS Blog
The Last Watchdog
The Last Watchdog
C
Check Point Blog
N
Netflix TechBlog - Medium
D
DataBreaches.Net
爱范儿
爱范儿
IT之家
IT之家
S
Secure Thoughts
M
MIT News - Artificial intelligence
NISL@THU
NISL@THU
C
Cisco Blogs
TaoSecurity Blog
TaoSecurity Blog
有赞技术团队
有赞技术团队
A
Arctic Wolf
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
P
Proofpoint News Feed
Spread Privacy
Spread Privacy
Schneier on Security
Schneier on Security
Simon Willison's Weblog
Simon Willison's Weblog
G
GRAHAM CLULEY
雷峰网
雷峰网
Project Zero
Project Zero
博客园 - Franky
H
Heimdal Security Blog
A
About on SuperTechFans
Security Latest
Security Latest
Webroot Blog
Webroot Blog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Hugging Face - Blog
Hugging Face - Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More

博客园 - 代码泪

解决下载/上传大文件问题(IIS6)[转] 动态创建DataTable[转] C#格式化字符串,日期,时间,货币[转] Winform数据库连接app.config文件配置 C# 连接SQL数据库 常用连接字符串 sql得到当前系统时间得 日期部分 update select DataTime.Now.Ticks精确的时间单位[转] [SqlException (0x80131904): 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。……(provider: TCP 提供程序, error: 0 - 由于目标机器积极拒绝,无法连接。)] VS 网站发布失败 [收藏]"Automation服务器不能创建对象" 的多种解决办法 Hashtable, ArrayList, List, Dictionary学习[转] VSTS for Testers学习笔记目录[转] SQL Server 2005安全配置[转] 超时时间已到.错误及Max Pool Size设置 execute sp_executesql 用变量获取返回值【转】 使用存储过程并返回值与及返回值的获得方法[转] js取得dropdownlist的text,value[转] - 代码泪 - 博客园 input text 的事件及方法
VC2008下配置boost库使用正则表达式[转]
代码泪 · 2013-06-13 · via 博客园 - 代码泪

VC2008下配置boost库使用正则表达式

有关boost的使用可以参考http://www.stlchina.org/twiki/bin/view.pl/Main/BoostEnterBoost


  

  2、编译动态库,本文只要支持正则表达式就可以,因此只需要编译E:/boost/libs/regex/build目录下的文件。这步比较关键。

    具体操作:

  在“运行”里输入“cmd”,打开命令提示符;

  输入命令“cd E:/boost/libs/regex/build”,设置当前目录

  设置VC2008的配置环境变量,找到Microsoft Visual Studio 9.0/VC/bin/VCVARS32.BAT文件,把VCVARS32.BAT文件用鼠标拖到打开的cmd窗口("F:/Program Files/Microsoft Visual Studio/VC/bin/VCVARS32.BAT"),然后回车。

  输入命令“nmake –f vc9.mak”

  等待几分钟,E:/boost/libs/regex/build多了一个vc9的文件夹,里面是很多lib和dll文件。

  3、配置VC2008 “VC++目录”,使它编译使时候能找到正则库。

  打开vc2008,选择“工具->选项->项目与解决方案->显示以下内容的目录-> 包含文件”,加入一行“E:/BOOST”
   选择“工具->选项->项目与解决方案->显示以下内容的目录-> 库文件”,加入一行“E:/BOOST /libs/regex/build/vc90”

  4、编写程序测试
   VC2008中默认的是UNICODE编码字符集,要使用regex的UNICODE版本tregex.关于正则表达式的应用可以查看使用说明和实例,分别放在libs/regex/doc和libs/regex/example目录中.注意在编译连接的时候可能会报告libboost_regex-vc90-mt-gd-1_39.lib文件无法找到,需要把libboost_regex-vc90-mt-gd-1_38.lib改成libboost_regex-vc90-mt-gd-1_39.lib

  新建一个对话框的MFC工程,
  加入头文件
  #include <boost/regex/mfc.hpp>
  在按钮鼠标单击事件响应函数中加入

     boost::tregex expression(_T("^select ([a-zA-Z]*) from ([a-zA-Z]*)"));

     CString sRet;

     CString in = _T("select gm from tab");

     boost::tmatch what;

     if(boost::regex_match(in, what, expression))//CString转string

     {

         for(int i=0;i<what.size();i++)

          {

               sRet =  CString(what[i].first, what.length(i));

               MessageBox(sRet);

          }

     }

     else

     {

              MessageBox(_T("Error Input"));

     }
  输出的结果如下:

select gm from tab

gm

tab