VC6下正则greta库的测试和使用手记
2009-05-22 20:06:09 来源:WEB开发网本文示例源代码或素材下载
文本字符串的处理、分析一直是写程序中不可避免的问题,长时间以来,自己对正则表达式这个纸老虎一直退避三舍。也许是懒的缘故吧,一般遇到字符串处理问题的时候,都是自己写个小程序完事,但工作效率实在是低下,做的多了就有点烦--都是重复性工作。昨天闲着没事,终于下决心看看正则了,很欣喜,收获还是不小的。
关于正则表达式的学习,推荐这篇文章,“正则表达式三十分钟入门”,我这么零基础的人,边看边练,两个小时确实是入门了,所以强烈推荐。其他关于正则的详细内容就不说了,不属于本文讨论的内容,下面言归正传。
学正则表达式,练习是少不了的,虽然工具不少,但为了以后自己写程序时方便,还是决定自己写一个。Google了一下,正则库还真是不少,像Boost、CAtlReg、Greta等,还有其他很多。粗粗看了一下,觉得Boost块头太大了,还得一步步编译啥的,懒人就放弃了,CAtlreg又好像不能在VC6下用,看看Greta就6个文件--着实很亲切,所以就它了。
网上关于Greta的文档不是很多,不知道是太简单了还是用的人太少,例子大多也是greta库文件里的示例,太简单,没有详细的匹配、替换、分割功能的用法。
本文测试的环境是VC6(sp6)MFC环境,步骤如下,
1)直接将greta六个源文件拷贝到工程目录下,为了方便,建了个greta目录;
这里测试就直接用了源文件,其实还可以先把greta编译成库文件来使用,更推荐这种用法。
2)包含greta头文件;
#include <string>
#include "gretaregexpr2.h"//这一个就够了
using namespace std;
using namespace regex;//greta库的命名空间
3)在greta两个cpp文件中加上头文件"stdafx.h",否则会报错;
赞助商链接