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 else 21 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] - 推荐使用正则表达式可视化编写及调试工具。