#include "string" #include "greta/regexpr2.h" //greta from http://research.microsoft.com/en-us/downloads/bd99f343-4ff4-4041-8293-34c054efe749/default.aspx using namespace std; using namespace regex; int main(int argc, char* argv[]) { //Match success: // result 0: $12.34 // result 1: 12 // result 2: .34 // result 3: 34 match_results results; string str("this book cost $12.34."); rpattern pat("\\$(\\d+)(\\.(\\d\\d))?", GLOBAL|NOCASE|ALLBACKREFS); match_results::backref_type br = pat.match(str, results); if( br.matched ) { printf("Match success:\n"); for (int i = 0; i < results.cbackrefs(); i++) { printf("\t result %d: %s\n", i, results.backref(i).str().c_str()); } } else { printf("Match failed.\n"); } //Subst count 1: // result: Hello, peggy! subst_results results_subst; string str1("Hello, foolbear!"); rpattern pat_subst("foolbear", "peggy", GLOBAL|NOCASE); int count_sub = pat_subst.substitute(str1, results_subst); printf("Subst count %d:\n\t result: %s\n", count_sub, str1.c_str()); //Split count 5 // split: c: // split: 1 // split: 2 // split: 3 // split: 4.txt split_results results_split; string str2("c:\\1\\2\\3\\4.txt"); rpattern pat_split("\\"); int count_sp = pat_split.split(str2, results_split); printf("Split count %d\n", count_sp); for (int i = 0; i < count_sp; i++) { printf("\t split: %s\n", results_split[i].c_str()); } return 0; }
^_^
2010年6月22日星期二
VC6 下正则库 greta 的测试
本站文章除注明外,均为本站原创
转载请注明文章转载自: 大笨熊乐园 [ https://blog.foolbear.com/ ]
文章标题: VC6 下正则库 greta 的测试
文章地址: https://blog.foolbear.com/2010/06/vc6-greta.html
转载请注明文章转载自: 大笨熊乐园 [ https://blog.foolbear.com/ ]
文章标题: VC6 下正则库 greta 的测试
文章地址: https://blog.foolbear.com/2010/06/vc6-greta.html
订阅:
博文评论
(
Atom
)
没有评论 :
发表评论