Dregexp全名DreamRegexp是一个用java语言实现的,基于正则表达式的格式化解析和纠正原文的工具。
其解析格式十分灵活,纠错能力非常强大,可以适应不同功能需要。灵活Dregexp采用正则表达式作为格式的模式串,可以轻易的给出匹配的范围,而且格式串还拥有良好的扩展性。如:常见的变量定义可以使用格式模式串:int\s+\w+(=\d+)?;所匹配的内容1:inti;所匹配的内容2:inti=8;一个模式·可以匹配多种格式,这正体现了Dregexp的强大之处。纠错能力分析能力Dregexp的纠错能力体现在其纠正器机制。Dregexp允许用户配置一系列的纠正器安装在指定的块上,这样当扫描时,一旦发现这些块与原文不匹配时,立刻调用块上安装的纠正器进行纠正。例如:格式串为:1[2-4]5原文为165分析:原文中6与格式串[2-4]不相匹配此时将会调用[2-4]比较块上安装的纠正器Dregexp的分析是由解析器来完成的。类似于纠正器都是需要安装。不同的是解析器安装在一个格式模式串上,而不是格式串上的比较块。当原文与格式串产生了一次匹配时调用解析析器来解析原文。例如:格式<[^\s]+>原文234原文中与格式<[^\s]+>已产生匹配此时调用安装在该格式串上的解析器完成解析。备注:原文可以很长,格式串将依次扫描出所有匹配项适应性Dregexp的适应性除了表现在格式串正则表达式的扩展格式的能力,重点还体现在纠正器与解析器机制。具体有:1纠正器和解析器可以安装在任何地方。2Dregexp要求所安装的纠正器或解析器必须是用户去实现子类。也就是说用户可以按照需要自由的完成各种功能,而Dregexp已经提供了完备的一系列的方法取得当前原文的扫描情况,包括出错点,匹配历程等等。可以说Dregexp已经适应了任何一种业务功能的需要。扩展性Dregexp扩展性体现在其灵活性与适应性上。值得一提的是:Dregexp的格式串支持捕获组。Dregexp的纠正其允许选择纠正之后是否要求纠正处与原文再次比较。如:模式1[2-4]5原文为165调用纠正器中修改原文6为8,此时原文变为185。若要求再次比较还会发生[2-4]与8比较,若不要求则不会发生比较Dregexp的解析器允许可选的是否继续扫描下文。如:模式<^\s+>原文
123211231当
与<^\s+>匹配时调用解析器。解析器可以选择是否继续扫描。若选择继续扫描就会发现下文与<^\s+>匹配,若选择不继续则扫描到此结束,不会出现下文中任何内容。纠正器与解析器的选择操作可以有效的扩展各种细粒度较高的功能
评论