当前位置: 首页 > 工具软件 > Dregexp > 使用案例 >

dregexp入门之一

艾修然
2023-12-01

 Dregexp是一个基于正则表达式的格式化解析和纠正原文的工具。

其解析格式十分灵活,纠错能力非常强大,可以适应不同功能需要。

 

  • 灵活

Dregexp采用正则表达式作为格式的模式串,可以轻易的给出匹配的范围,而且格式串还拥有良好的扩展性。

如:常见的变量定义

可以使用格式模式串:int/s+/w+(=/d+)?;

所匹配的内容1:int i;

所匹配的内容2:int i=8;

 

一个模式·可以匹配多种格式,这正体现了Dregexp的强大之处。

  • 纠错能力分析能力

Dregexp的纠错能力体现在其纠正器机制。Dregexp允许用户配置一系列的纠正器安装在指定的块上,这样当扫描时,一旦发现这些块与原文不匹配时,立刻调用块上安装的纠正器进行纠正。

例如:格式串为:1[2-4]5     原文为165

分析:原文中6与格式串[2-4]不相匹配

此时将会调用[2-4]比较块上安装的纠正器

 

Dregexp的分析是由解析器来完成的。类似于纠正器都是需要安装。不同的是解析器安装在一个格式模式串上,而不是格式串上的比较块。当原文与格式串产生了一次匹配时调用解析析器来解析原文。

例如:格式<[^/s]+>  原文<br>234

原文中<br>与格式<[^/s]+>已产生匹配

此时调用安装在该格式串上的解析器完成解析。

 

备注:原文可以很长,格式串将依次扫描出所有匹配项

 

  • 适应性

Dregexp的适应性除了表现在格式串正则表达式的扩展格式的能力,重点还体现在纠正器与解析器机制。

具体有:

1 纠正器和解析器可以安装在任何地方。

2 Dregexp要求所安装的纠正器或解析器必须是用户去实现子类。也就是说用户可以按照需要自由的完成各种功能,而Dregexp已经提供了完备的一系列的方法取得当前原文的扫描情况,包括出错点,匹配历程等等。

 

可以说Dregexp已经适应了任何一种业务功能的需要。

  • 扩展性

Dregexp扩展性体现在其灵活性与适应性上。

值得一提的是:Dregexp的格式串支持捕获组。

Dregexp的纠正其允许选择纠正之后是否要求纠正处与原文再次比较。

如:模式1[2-4]5     原文为165

调用纠正器中修改原文6为8,此时原文变为185。若要求再次比较还会发生[2-4]与8比较,若不要求则不会发生比较

Dregexp的解析器允许可选的是否继续扫描下文。

如:模式<^/s+>     原文<p>12321<br>1231

当<p>与<^/s+>匹配时调用解析器。解析器可以选择是否继续扫描。若选择继续扫描就会发现下文<br>与<^/s+>匹配,若选择不继续则扫描到此结束,不会出现下文中任何内容。

 

纠正器与解析器的选择操作可以有效的扩展各种细粒度较高的功能

 

 

目前Dregexp发布到1.0版本

http://code.google.com/p/dregexp/downloads/list

 

若在使用中有任何疑问请与我联系。

QQ:86967750

email:idearfly@163.com

 

 

下一章我们将讲述Dregexp的部署与使用

 类似资料: