博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
VC2008下配置boost库使用正则表达式[转]
阅读量:5043 次
发布时间:2019-06-12

本文共 1584 字,大约阅读时间需要 5 分钟。

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

 

最近开发项目要用到数据搜索、检验问题,打算使用正则表达式,因为它简单、高效。支持正则表达式的库有多大概有以下几种:boost,微软发布的greta。

  本文介绍使用boost库正则表达式来解决字符匹配、搜索、替换等应用。现在介绍一下VC2008中怎样配置与使用boost库正则表达式。
1、下载与安装boost库,下载地址:,将其解压到E:/boost目录。

有关boost的使用可以参考

  
  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

转载于:https://www.cnblogs.com/delphinet/archive/2013/06/13/3134181.html

你可能感兴趣的文章
JQuery(一)安装&选择器 样式篇
查看>>
浏览器的DNS缓存查看和清除
查看>>
浏览器跨域问题
查看>>
HTML5 input控件 placeholder属性
查看>>
使用JAVA如何对图片进行格式检查以及安全检查处理
查看>>
html5实现移动端下拉刷新(原理和代码)
查看>>
iPhone开发中从一个视图跳到另一个视图有三种方法:
查看>>
pytho logging
查看>>
一个Java程序员应该掌握的10项技能
查看>>
c#英文大小写快捷键
查看>>
tpframe免费开源框架又一重大更新
查看>>
一.go语言 struct json相互转换
查看>>
什么是架构设计
查看>>
程序员学习能力提升三要素
查看>>
PHP 微信错误状态返回码说明
查看>>
【4.1】Python中的序列分类
查看>>
ubuntu 移动文件
查看>>
Easy Mock
查看>>
看看 Delphi XE2 为 VCL 提供的 14 种样式
查看>>
Python内置函数(29)——help
查看>>