首页 > 代码库 > DEELX 正则表达式引擎(v1.2)

DEELX 正则表达式引擎(v1.2)

DEELX 正则表达式引擎(v1.2)

简介见文末。

选择使用deelx的理由:全部代码位于一个头文件(.h)中, 比任何引擎都使用简单和方便。

利用分组从字符串当中提取出化学元素英文名。比如 Ag,Au,Fe3O4,Al2O3,K2O,CaO......

 1 #include "deelx.h" 2 #include <string> 3 //该正则表达式识别字符串当中是否有化学元素英文名。 4 //特征:首字母大写,由英文字符和数字组成。 5 //示例:数学变换_Ag_三门峡 识别分组:数学变换_ Ag _三门峡 6 bool extractElement(const std::string &header, std::string &out) 7 { 8     static CRegexpT <char> regexp("([^A-Z]*)([A-Z][A-Za-z0-9]*)([^A-Za-z0-9]*)"); 9     MatchResult result = regexp.Match(header.c_str());  10     int nGroup = result.MaxGroupNumber();11     if (nGroup > 1)12     {13         char name[_MAX_PATH];   14         int start, end;15         start = result.GetGroupStart(2);16         end = result.GetGroupEnd(2);17         strncpy_s(name, header.c_str()+start, end-start);18         out = name;19     }20     else21         out = header;22     23     return true;    24 }

 

简介:

DEELX 是一个在 C++ 环境下的与 Perl 兼容的正则表达式引擎。是 RegExLab 开展的一个研究开发项目。

基本特点:
  • 支持与 Perl 兼容的正则表达式语法。
  • 支持 IGNORECASE, SINGLELINE, MULTILINE 等常见匹配模式。
  • 兼容性强,能在 vc6, vc7, vc8, gcc, Turbo C++ 等大多数 C++ 环境编译。
  • 支持命名分组,条件表达式,递归表达式等多种高级特性。(1.2版本新特点)
与 GRETA、boost 相比,DEELX 独到之处:
  • 完全使用模版库编写,支持 char, wchar_t, int 等以及其他基类型版本。
  • 全部代码位于一个头文件(.h)中, 比任何引擎都使用简单和方便。
  • 支持从右向左匹配模式,可从文本结束位置向前搜索匹配。
  • 可防止零长度子匹配循环无限次而产生的死循环。(1.2版本新特点)

DEELX 不足之处:
  • DEELX 是完全免费的实验室产品。
  • 为弥补实验室产品的不足,本站同步推出了与本引擎完全兼容的调试工具:Match Tracer。

源代码下载:

[下载:DEELX]


DEELX 可免费用于个人用途及商业用途。


资助 DEELX 的开发

如果 DEELX 对您有用,解决了您的问题,提高了您的效率,节约了您的时间,我们真心希望您能对 DEELX 提供一些资助:

A)您可以选择直接以现金的方式,资助到站长支付宝 sswater@gmail.com

B)您也可以通过购买 “Regex Match Tracer 去除广告” 来支持站长,点击购买


更多参考:

[ 正则表达式语法] - 详细介绍 DEELX 支持的正则表达式语法。

[ 编程帮助] - 编程指南,详细介绍如何将 DEELX 用于你的 C++ 项目。

[ 表达式工具 Match Tracer] - 推荐使用正则表达式可视化编写及调试工具。

DEELX 正则表达式引擎(v1.2)