Dregexp

正则表达式
授权协议 未知
开发语言 Java
所属分类 程序开发、 正则表达式工具
软件类型 开源软件
地区 不详
投 递 者 程谦
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Dregexp全名Dream Regexp是一个用java语言实现的,基于正则表达式的格式化解析和纠正原文的工具。

其解析格式十分灵活,纠错能力非常强大,可以适应不同功能需要。
灵活
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]+> 原文
234
原文中
与格式<[^\s]+>已产生匹配
此时调用安装在该格式串上的解析器完成解析。
备注:原文可以很长,格式串将依次扫描出所有匹配项
适应性
Dregexp的适应性除了表现在格式串正则表达式的扩展格式的能力,重点还体现在纠正器与解析器机制。
具体有:
1 纠正器和解析器可以安装在任何地方。
2 Dregexp要求所安装的纠正器或解析器必须是用户去实现子类。也就是说用户可以按照需要自由的完成各种功能,而Dregexp已经提供了完备的一系列的方法取得当前原文的扫描情况,包括出错点,匹配历程等等。
可以说Dregexp已经适应了任何一种业务功能的需要。
扩展性
Dregexp扩展性体现在其灵活性与适应性上。
值得一提的是:Dregexp的格式串支持捕获组。
Dregexp的纠正其允许选择纠正之后是否要求纠正处与原文再次比较。
如:模式1[2-4]5 原文为165
调用纠正器中修改原文6为8,此时原文变为185。若要求再次比较还会发生[2-4]与8比较,若不要求则不会发生比较
Dregexp的解析器允许可选的是否继续扫描下文。
如:模式<^\s+> 原文

12321
1231

与<^\s+>匹配时调用解析器。解析器可以选择是否继续扫描。若选择继续扫描就会发现下文
与<^\s+>匹配,若选择不继续则扫描到此结束,不会出现下文中任何内容。
纠正器与解析器的选择操作可以有效的扩展各种细粒度较高的功能

  •   Dregexp是一个基于正则表达式的格式化解析和纠正原文的工具。   问:Dregexp为的是解决什么样的问题? 答:Dregexp致力于按照给定的格式去解析原文,并纠正原文。 纵观目前流行的全文索引、解析、纠正工具,我们得出如下结论: 全文索引工具,以lucene为例,它提供了许多全局的索引,有效的减低了反复查找的操作。但遗憾的是它本身并不具有纠正和解析能力,所以使用者几乎需要从新写大量的纠

  •  Dregexp是一个基于正则表达式的格式化解析和纠正原文的工具。 其解析格式十分灵活,纠错能力非常强大,可以适应不同功能需要。   灵活 Dregexp采用正则表达式作为格式的模式串,可以轻易的给出匹配的范围,而且格式串还拥有良好的扩展性。 如:常见的变量定义 可以使用格式模式串:int/s+/w+(=/d+)?; 所匹配的内容1:int i; 所匹配的内容2:int i=8;   一个模式·可

  • Dregexp终于 问世…… * 什么是Dregexp? Dregexp是一个基于正则表达式的格式化解析和纠正原文的工具。 * 为解决什么关键问题? 传统的分析原文工具显得不够灵活而且代码重用性较差。与传统的格式分析(语义分析)器不同的是,它更通用,更便捷。与同类技术相比它有良好的功能扩展,和强力的纠正错误的能力。 目前Dregexg正式发布1.0版本 http://code.google.com

 相关资料
  • 昨天,我需要向正则表达式添加一个文件路径,创建一个如下所示的模式: 一开始正则表达式不匹配,因为包含几个正则表达式特定的符号,如 或 。作为快速修复,我将它们替换为 和 . 与 . 然而,我问自己,是否没有一种更可靠或更好的方法来清除正则表达式特定符号中的字符串。 Python 标准库中是否支持此类功能? 如果没有,您是否知道一个正则表达式来识别所有正则表达式并通过替代品清理它们?

  • 在 OpenResty 中,同时存在两套正则表达式规范:Lua 语言的规范和 ngx.re.* 的规范,即使您对 Lua 语言中的规范非常熟悉,我们仍不建议使用 Lua 中的正则表达式。一是因为 Lua 中正则表达式的性能并不如 ngx.re.* 中的正则表达式优秀;二是 Lua 中的正则表达式并不符合 POSIX 规范,而 ngx.re.* 中实现的是标准的 POSIX 规范,后者明显更具备通用

  • 一、概述 二、匹配单个字符 三、匹配一组字符 四、使用元字符 五、重复匹配 六、位置匹配 七、使用子表达式 八、回溯引用 九、前后查找 十、嵌入条件 参考资料 一、概述 正则表达式用于文本内容的查找和替换。 正则表达式内置于其它语言或者软件产品中,它本身不是一种语言或者软件。 正则表达式在线工具 二、匹配单个字符 . 可以用来匹配任何的单个字符,但是在绝大多数实现里面,不能匹配换行符; . 是元字

  • 这部分内容可以说是学习shell脚本之前必学的内容。如果你这部分内容学的越好,那么你的shell脚本编写能力就会越强。所以不要嫌这部分内容啰嗦,也不要怕麻烦,要用心学习。一定要多加练习,练习多了就能熟练掌握了。 在计算机科学中,正则表达式是这样解释的:它是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或替换那些符合某个模

  • 正则表达式 有些人在面对问题时,不经大脑便认为,“我知道,这里该用正则表达式”。现在他要面对两个问题了。 ——Jamie Zawinski 如果只是在字符串中进行简单的文本搜索,不要使用正则表达式,比如 string['text']。 对于简单的构建操作,使用正则表达式作为索引即可。 match = string[/regexp/] # 获取匹配的内容 first_grou

  • 目标 var web_development = "python php ruby javascript jsonp perhapsphpisoutdated"; 找出其中 包含 p 但不包含 ph 的所有单词,即 [ 'python', 'javascript', 'jsonp' ] 知识点 正则表达式的使用 js 中的正则表达式与 pcre(http://en.wikipedia.org/wi

  • 正则表达式(regular expression)是可以匹配文本片段的模式。最简单的正则表达式就是普通字符串,可以匹配其自身。比如,正则表达式 ‘hello’ 可以匹配字符串 ‘hello’。 要注意的是,正则表达式并不是一个程序,而是用于处理字符串的一种模式,如果你想用它来处理字符串,就必须使用支持正则表达式的工具,比如 Linux 中的 awk, sed, grep,或者编程语言 Perl,

  • 正则表达式 正则表达式为标书字符串规则的表达式。下面为两个例子为在 JavaScript 中的使用, /pattern/attrs new RegExp(pattern, attrs) 锚点 锚点用于匹配一个位置,下列为常用的锚点 ^ 起始的位置 /^http/ $ 结尾的位置 /\.jpg$/ \b 单词边界 字符类 字符类用于匹配一类字符中的一个,下面为几个常用的例子, [abc] 可用于匹配