GRETA是微软研究院的一位前员工开发并开源的一个C++正则表达式库,兼容perl正则语法

官方介绍:“A fast, flexible, perl-compliant regular expression template library for C++.”

获取地址:http://research.microsoft.com/en-us/downloads/bd99f343-4ff4-4041-8293-34c054efe749/default.aspx

c++的正则库,有一个历史悠久的pcre库(还有一个对应的c++封装:pcre++), 另外boost也提供了正则库

我的需求比较简单,所以不愿意用复杂的东西,就试试这个库吧

当前最新版本是2.6.4,下载greta-2.6.4.zip解压后,包含以下文件:

其中great2.htm是说明文档,里面包含了一些例子

要使用这个库,只需要在你的.cpp里包含regexpr2.h这个头文件即可

简单用法(包含match和split):

1. match:匹配是否存在以"No matching devices found"开头的行

    TCHAR str[] = _T("No matching devices found");
match_results results;
rpattern pat(_T("^No\\smatching\\sdevices\\sfound"));
match_results::backref_type br = pat.match( str, results);
if (!br.matched) {
// Not matched
} // Matched

2.split:切分某行并获得其中一个字段

    TCHAR str[] = _T("ROOT\\MEDIA\\0001                                             : XXX Virtual Audio Driver");
rpattern pat(_T("\\s+"));
split_results sp_res;
size_t num = pat.split(str, sp_res);
if (num > ) {
// success
std::wstring info = (sp_res.strings())[];
}

以空格作为分隔符,将str切分为多个段,取得第一个段的值 info中的值为"ROOT\\MEDIA\\0001"

参考资料:

1.greta-2.6.4\greta2.html

2.小骆驼书 《perl语言入门(第4版)》

最新文章

  1. js访问php,返回数组时的注意事项
  2. Visual Studio SetSite failed for package [JavaScriptWebExtensionsPackage] 错误解决方案一则
  3. delphi 串口 关于RS485总线通信协议开发注意事项
  4. 用Docker封装一个web应用(Django)
  5. linux命令学习-复制(cp,scp)
  6. OC基础11:基本的C语言特性2
  7. WPF自动更新程序
  8. Supervisor 为服务创建守护进程
  9. asp.net/wingtip/显示数据和详细信息
  10. Array.prototype.reduce()
  11. MFC原理第二讲.MFC的初始化过程
  12. 浏览器 User-Agent相关知识
  13. 1.golang的环境搭建及入门
  14. POJ-2533.Longest Ordered Subsequence (LIS模版题)
  15. Java微信二次开发(三)
  16. 【转】Python中的字符串与字符编码
  17. Docker Compose一键部署Nginx反向代理Tomcat集群
  18. Confluence 6 有关空间的一些提示
  19. Road Crossing Game Template 学习
  20. php 通过 strtr 方法来替换文本中指定的内容

热门文章

  1. 一步一步学Silverlight 2系列(30):使用Transform实现更炫的效果(下)
  2. 如何使用BMap.Point传递变量、存储数据?
  3. Transformations
  4. 【扬中集训 DAY4T1】跳马
  5. Python mutilprocess模块之第二种创建进程方法--继承Process类
  6. 分享几篇文章(PDF版)
  7. bzoj3198
  8. Java泛型简明教程
  9. 安装JDK+Eclipse+Maven+Git/Gitee(windows系统和linux系统)
  10. 安装Tomcat(windows系统和linux系统)