您的位置:首页 > 其它

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

2014-12-09 16:03 344 查看

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

简介见文末。

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

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

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

return true;
}


简介:

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 提供一些资助:

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

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



更多参考:

[

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

[

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



[

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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: