boost_1_34_1.zip boost 正则表达式 bcb6编译boost_1_34

有个项目要对大量的文本信息进行分析,以前的方法是自己写函数然后进行分析。现在发现一个正则表达式的处理方法,其实正则表达式早就知道的,但是一直么有怎么深入的了解,呵呵,今天发现正则表达式果然在真方面胜人一筹啊。

首先到http://www.boost.org去下载boost_1_34_1.zip(我是在windows下,所以下载的是zip的,当然可以根据不同的系统去下载不同的包了。其实还是转到一个开源的地址下载的。23M吧)。下载完毕后,解压到某个目录就可以了,然后在命令行模式下到这个目录[%Boost]\Libs\RegEx\Build,然后直接用命令make -f bcb6.mak,最终编译完成,会在[%Boost]\Libs\RegEx\Build目录生成一个BCB目录,在这个目录生成了很多lib文件和dll文件,把所有dll文件复制到windows系统目录,所以lib文件复制到bcb6\lib目录。

然后再设置BCB6 Project属性的Lib Path和Include Path为你安装boost的目录。

下面看一个例子:

//例子开始-------------------------

#pragma hdrstop

#include "Unit1.h"
#include <boost/regex.hpp>
#include <string>

//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
     : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
try {
     char *src_str = "<meta http-equiv=\"content-type\" content=\"text/html; charset=x-sjis\">"; // 対象文字列
     boost::regex rx( "<META +HTTP-EQUIV=(.*) +CONTENT=(.*) +CHARSET=(.*)>", boost::regex_constants::normal|boost::regex_constants::icase );
     boost::cmatch results;

if( boost::regex_match( src_str, results, rx ) == true ) {
         AnsiString s;
         for( size_t i=1;i<results.size(); ++i ) {
             s += "$" + IntToStr(i) + "=" + AnsiString( results.str(i).c_str() ) + "\r\n";
         }
         ShowMessage( s );
     }
   }
   catch( std::runtime_error &e ) {
     throw Exception( e.what() );
   }

}
//---------------------------------------------------------------------------

//例子结束-------------------------

然后编译,这个时候很可能会出现错误:[Linker Fatal error] Unable to open file 'LIBBOOST_REGEX-BCB-MT-1_34_1.LIB',我在我编译的boost目录下根本没有查找到这个文件,十分的郁闷。但是这个文件是存在的。

然后在网上搜索的这个类似的错误,都没有找到解决方法,根本就没有LIBBOOST_REGEX-BCB-MT-1_34_1.LIB相关的搜索结果。然后我就直接修改了LIBBOOST_REGEX-BCB-MT-1_34.LIB为LIBBOOST_REGEX-BCB-MT-1_34_1.LIB,然后编译顺利通过,呵呵

如果你们有更好的解决方法给我留言啊,或者给我发email:diyisoft@163.com

http://diyisoft.blog.163.com/blog/static/1117807502007724101954460/

最新文章

  1. HDU1757 A Simple Math Problem 矩阵快速幂
  2. [ZOJ 3839] Poker Face (递归)
  3. BZOJ2463: [中山市选2009]谁能赢呢?
  4. Immutable.js尝试(node.js勿入)
  5. SQL Server 中添加用户
  6. 高频交易:Solarflare组建超低延迟网络
  7. c#中(int)、int.Parse()、int.TryParse、Convert.ToInt32的区别
  8. UVA - 297Quadtrees(四分图)
  9. 在Visual Studio中使用FFTW库
  10. setTimeout,setInterval 最短触发时间
  11. werkzeug(flask)中的local,localstack,localproxy探究
  12. mint17上建立lamp环境
  13. JDK8 lameda表达式学习例子
  14. verilog 代码分析与仿真
  15. Rabbitmq(7) confirm模式
  16. nginx环境搭建
  17. Azure 认知服务 (1) 概述
  18. com.baidu.mapapi.CoordType
  19. 44(function pointer 2)
  20. 机器学习之路:python 多项式特征生成PolynomialFeatures 欠拟合与过拟合

热门文章

  1. RMAN DUPLICATE ADG DEMO
  2. 洛谷 P3131 [USACO16JAN]子共七Subsequences Summing to Sevens
  3. Oracle动态SQL语句
  4. 1.4 Python基础知识 - 代码书写格式及条件判断&quot;if ... else ...&quot;
  5. 被误解的MVC和被神化的MVVM
  6. Learn from Architects of Buildings
  7. 大数据(十四) - Storm
  8. [Jade] Use Mixins in Pug
  9. [TypeStyle] Use TypeStyle keyframes to create CSS animations
  10. swift学习:自定义Log