GUN regex正则表达式的使用
来源:互联网 发布:python爬取天气数据 编辑:程序博客网 时间:2024/06/01 03:58
自己写了个简单的正则替换程序,使用GUN regex库,VC下编译通过
库文件可以去这里下载:http://download.csdn.net/detail/nsdcoder/9573050
互相学习,资源免费
#include <string>#include "regex.h"#pragma comment(lib, "regex.lib")void regtest(std::string regstr, std::string src, std::string newstr);int main(int argc, char *argv){std::string reg = "&[^;]\\{2,6\\};";//&[^;]{2,6}; <[^>]*[p|P]>std::string src = "<a class=123>" ;</a>&ql;<p>djkslf</p>";regtest(reg, src, "---");return 0;}void regtest(std::string regstr, std::string src, std::string newstr){regex_t oRegex;int nErrCode = 0;char szErrMsg[1024];size_t unErrMsgLen = 0;if((nErrCode = regcomp(&oRegex, regstr.c_str(), 0)) == 0){int nmatch = 10;regmatch_t what[10];while((nErrCode = regexec(&oRegex, src.c_str(), nmatch, what, 0)) == 0){printf("Match Result: %s \n", src.substr(what[0].rm_so, what[0].rm_eo-what[0].rm_so).c_str());src = src.substr(0, what[0].rm_so) + newstr + src.substr(what[0].rm_eo, src.length()-what[0].rm_eo);}regfree(&oRegex);}else{unErrMsgLen = regerror(nErrCode, &oRegex, szErrMsg, sizeof(szErrMsg));unErrMsgLen = unErrMsgLen < sizeof(szErrMsg) ? unErrMsgLen : sizeof(szErrMsg) - 1;szErrMsg[unErrMsgLen] = '\0';printf("ErrMsg: %s\n", szErrMsg);regfree(&oRegex);}printf("src: %s\n", src.c_str());}
1 0
- GUN regex正则表达式的使用
- C++ regex 正则表达式的使用
- C#正则表达式Regex类的使用
- C++ regex 正则表达式的使用
- 简单的正则表达式 Regex
- (正则表达式)Regex类的一些常见使用方式
- (正则表达式)Regex类的一些常见使用方式
- C#正则表达式的使用(Regex类用法)
- [Language-regex]PHP正则表达式的几则使用技巧
- 【C/C++】boost regex正则表达式的安装及使用
- 跨平台正则表达式POSIX regex的使用
- java.util.regex包--正则表达式的使用
- python中正则表达式库re的使用(regex)
- Regex.Match,使用正则表达式匹配字符串
- Android中的正则表达式Regex使用
- C#正则表达式Regex类使用
- java使用正则表达式(regex)匹配中文
- regex C++正则表达式简单使用
- 控制台天涯看小说
- iOS 高级工程师是怎么进阶的(补充版20+点)
- 在CentOS 上安装EPEL源
- 查找两个字符串a,b中的最长公共子串
- CSS深入理解之relative
- GUN regex正则表达式的使用
- Ubuntu 中设置默认应用程序
- log4j(slf4j)使用资源集合
- 有关于论文投稿的问题
- web开发(一)之SSH环境搭建
- ssh传递参数
- http协议详解
- ScrollView can host only one direct child
- poj 2002 哈希+几何