
正则表达式
iteye_12702
这个作者很懒,什么都没留下…
展开
-
<基础-1> 正则表达式:元字符
[b]主要参考:《精通正则表达式 第三版》 jeffrey E.F Friedl 著[/b]本系列并不是专门针对java语言介绍正则表达式使用的,而是从正则表达式本身的范畴介绍正则的基础,原理,效率,最后是某语言(java)中如何引入使用正则特性。相信看完后会对正则有个不一样的全面认识。当然,理论掌握后还需多写才能化为己有。[b]正则表达式(Regular Expression)[...2014-03-15 18:08:35 · 204 阅读 · 0 评论 -
<基础-2>入门实例, 顺序环视,逆序环视
[b]二、入门实例扩展[/b]大家还记得第一篇里提到过的查找重复单词的例子吗?完整解决这个问题只需要perl之类的语言写几行代码。比如我们想确定每个文件中“ResetSize”出现的次数与“SetSize”出现的次数是否一样多。使用perl命令如下:[code="java"]% perl -0ne ‘print “$ARGV\n” if s/RestSize//ig != s/SetS...2014-03-15 21:54:19 · 272 阅读 · 0 评论 -
<基础-3> 正则的特性和流派
[b]正则表达式的特性和流派[/b]经过前面的介绍,我们大概见识了正则表达式的样子,也见识了若干使用正则表达式的工具软件,工具不同正则表达式的写法和用法都有很大的不同。在特定的宿主语言或工具软件中使用正则表达式时,主要有[b]3个问题值得注意[/b]:[b]1.支持的元字符[/b],以及这些元字符的意义。这通常称为正则表达式的[color=red]“流派(flavor)”[/color...2014-03-17 10:19:08 · 151 阅读 · 0 评论 -
<进阶-1> 正则表达式的匹配原理
正则表达式的正则引擎分为很多种,最常用的引擎类型有perl,tcl, python,.net,ruby,php,java.util.regex等,构建正则表达式的方式决定了某个正则表达式[b]能否[/b]匹配一个特定字符串,在[b]何处[/b]匹配,以及匹配[b]成功或报告失败[/b]的[b]速度[/b]。[color=red][b]正则引擎主要可以分为不同的两大类:一种是DFA(文本主导...2014-03-19 13:01:15 · 300 阅读 · 0 评论 -
<进阶-2> 打造高效正则表达式
每个正则表达式都必须在下面两个方面求得平衡:[b](1)[/b][b]准确匹配期望匹配的内容,忽略不期望匹配的字符[/b]。前面我们已经看到,如果应用得当,匹配优先非常有用,但如果不够小心也可能带来麻烦。[b](2)[/b][b][color=red]NFA[/color]引擎还需要平衡另外一个因素:效率[/b]。设计糟糕的正则表达式即使没有功能错误,也足以让引擎瘫痪。[b]5.1...2014-03-24 10:28:25 · 244 阅读 · 0 评论