下载 greta-2.6.4-vc6正则表达式.zip,解压后有6个文件:
regexpr2.h
restack.h
reimpl2.h
syntax2.h
syntax2.cpp
regexpr2.cpp
在网上看到有直接把这6个文件加到测试工程中的,编译链接时会出错。
可采用生成lib方法:(如下)
1.在vc中创建Greta工程,编译成静态库lib文件。将在debug目录下生成Grete.lib
2.创建测试工程Test,可用Greta示例demo,greta2.htm中:
#include <iostream>
#include <string>
#include "../Greta/regexpr2.h"
using namespace std;
using namespace regex;
int main() {
match_results results;
string str("The book cost $12.34");
rpattern pat( "\\$(\\d+)(\\.(\\d\\d))?" );
// Match a dollar sign followed by one or more digits,
// optionally followed by a period and two more digits.
// The double-escapes are necessary to satisfy the compiler.
match_results::backref_type br = pat.match( str, results );
if( br.matched ) {
cout << "match success!" << endl;
cout << "price: " << br << endl;
} else {
cout << "match failed!" << endl;
}
return 0;
}
注意:include路径:#include "../Greta/regexpr2.h"
3.在vc中添加你编译后的lib文件:Greta.lib
a、在Project->Add to Project->Files中将你的LIB文件直接加入到工程中去。
b、在TOOLS->OPTIONS->Directories->Library files,加入你的LIB文件所在的目录,然后:
4.编译,运行Test工程: