GRETA 正则表达式库

导读:
   ..:: Greta ::..
  
  [原创文章,转载请保留或注明出处:http://www.nk975.com/sswater/zh/greta/index.htm]  
  
  GRETA 为 C++ 提供了兼容 Perl 5 的正则表示支持。GRETA的主页位于:http://research.microsoft.com/projects/greta/。今天,我们并不讨论正则表达式本身以及 Greta 与其他正则表达式之间有什么不同,因为这方面的资料很多。我将主要介绍怎样在 Visual C++ 中正确的使用 Greta,举例一步一步进行说明:
  
  
  下载
  
  请在 GRETA 主页上下载源代码来使用。比如:GRETA 2.6.4 for VC6,你将得到压缩文件:'greta-2.6.4-vc6.zip'。也可以从本站下载源代码。
  
  请不要下载 lib 形式的 Greta 库。在很多网站上你可能找得到类似 greta.lib 的 lib 库,但是这种 lib 版本并不一定满足你的需求,或者可能产生连接错误。  
  
  使用
  
  GRETA 库中一共有 6 个程序文件:
  regexpr2.h
  regexpr2.cpp
  syntax2.h
  syntax2.cpp
  restack.h
  reimpl2.h
  可以有两种方法使用:
  (1) 直接把这6个文件加入到 project 中。(不推荐)
  (2) 在 workspace 中专门为 Greta 创建一个类型为:'Win32 Static Library' 的 project 。
  
  
  第1种:直接加入 Project (强烈不推荐)
  
  强烈不推荐直接将 greta 的文件直接加入 project。你如果一定要这么做,请注意一下,如果你的项目使用了 precompiled header,请注意添加 #include "stdafx.h"到 regexpr2.cpp 和 syntax2.cpp 中。
  
  
  第2种: 创建一个 'Win32 Static Library' 类型的 Project
  
  将一步一步说明:
  第一步:创建一个空的 workspace。例如起名 'Test':
  
  
  第2步:创建主项目,这个项目将使用 Greta。例如控制台类型,起名 'Main':
  
  
  第3步:创建 greta 项目。选择 'Win32 Static Library' 类型。并且将它作为 'Main' 的依赖。按 OK 以后,不选择 'Pre-Compiled header' 和 'MFC Support'。
  
  
  第4步:将下载下来的 zip 包中的 6 个文件放入 greta 的目录中,并添加到 greta 项目中来:
  
  
  第4步:从帮助文件中复制一个例子程序到主项目中来。帮助文件就是下载的 greta 压缩包中的 htm 文件。注意要使用 #include "../greta/regexpr2.h"。选择 'Main' 为活动 project,然后编译并运行:
  
  
  你将得到运行结果:
  
  
  目前为止,我们已经成功完成了一个使用 greta 的项目。[下载本页中的例子程序]
  如果你需要 UNICODE 版本,或者你使用 greta 的程序是 dll,那么请继续下面的章节。
  
  
  
   ..:: 高级 ::..
  
  1. UNICODE 版本
  
  如果你使用 greta 的项目是 UNICODE 版本,那么 greta 项目也必须是 UNICODE 版本。举例说明:
  第1步:给 greta 项目添加一个 'Unicode Debug' 配置:
  
  
  第2步:在项目设定中,添加 '_UNICODE' 和 'UNICODE' 两个预定义宏。(C/C++, General, Preprocessor defininitions)
  
  
  第3步:重复前两步,则可以为 Release 和主项目都添加上相应的 Unicode 版本。
  
  
  2. Runtime library
  
  在很多种情况下,特别是在主项目是 dll 时,你需要确认一下 greta 项目和主项目使用相同的 runtime library,否则你可能会得到一个连接错误。
  第1步:首先确定主项目使用哪一个 runtime library:
  
  
  第2步:在同样的位置,修改 greta 项目,使 greta 项目使用的 runtime library 与主项目一致。这样,你就可以正确的连接了。
  
  
  3. 为什么不推荐下载 greta.lib
  
  问:为什么不推荐下载 greta.lib 以及为什么会有连接错误?  
  答:就是基于前面所说的两点原因。因为下载下来的 lib 文件,是否是 UNICODE 版本未知,使用哪一个 runtime library 也是未知,因此不一定与你的主项目一致,如果不同就会产生连接错误。  

本文转自
http://www.nk975.com/sswater/zh/greta/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值