Mastering Regular Expressions 3rd Edition.pdf CSDN版本,配合一个勘误表来看。一共有10章,建议看前五章,各个章节的收获如下:
看完1,2章: 解决80%的实际问题
看完第3章: 90%
看完第4章:97%
看完第5章: 99.9%
第6--10章不要看,原因很显而易见,因为99.9%的能够用正则表达式解决的问题都已经解决了。
第5章: 虽然只增加2.9%, 但是还是建议要看, 因为按照我的估算, 每100个正则表达式问题中就会有2.9个问题需要你在第5章里学到的技术。 遇到的概率还是比较大的。
第4章:作者吓唬你,说这章比较难,要看两遍,慢慢消化。 其实不难,如果前三章看得认真,第4章还没看你就已经懂了。建议看一遍即可。 如果需要巩固,第五章有足够的例子帮助你巩固。
第3章: 有一大段是Unicode的匹配,这一段建议一目十行跳读过去。因为我们处理的是中文,这本书没讲怎么匹配中文。
第1、2章:抱着相信自己,不迷信书本的原则,书上的例子是按照egrep的某个特定版本,后面是按照Perl的某个特定版本,书上的结果是这样, 你实际使用的那个工具不一定是这样。 每个例子都可以动手在Notepad++, UltraEdit之类的软件里试一试。
即使你看到某个例子在你实际工作中不可能遇到,也建议把原理看懂。很有可能哪天就会遇到类似的需求。我五月份看完前五章,六月底就冒出来一个需求, 愣是用到了第四章介绍的一些比较高级的技术。
IT技术书籍种类繁多,从事IT行业的人往往又工作繁忙,没什么时间读书,所以写一本书的书评,最重要的是说服读者,为什么一定要读这本书,为什么一定要学习这本书讲授的技术。一旦读者意识到,学习这门技术是必须的,那么这条路已经走了一半,书,已经读了一半了。
我从事的是网站开发,完全是处理文字信息,对于这种以文字处理为主的技术人员,如果只能读一本书,一定是这本:Mastering Regular Expressions 3rd Edition.pdf
为什么要学习正则表达式?
1. 实际工作中迫切的需求。
2. 很多工具支持。
3. 简单易学。 如我所说,读这本书的前五章就行, 而且一旦学过, 很难忘记。
详细的论述:
1. 实际工作中迫切的需求。
凡是经常上百度搜索信息的人, 自己都能想出正则表达式的概念来,就是用一些符号表示能匹配什么样的文字,达到只搜索一次,就能搜索出满足条件的各种文本。这是一个最基本的需求。
就是这样一个最迫切的需求,却并没有得到重视。 我在软件学院四年,只听说过一次正则表达式, 是在自己的课外时间,在CSDN看到的。学校根本不教。Java的培训机构很多,PHP的培训机构很多,从来没听说过哪个培训机构是培训正则表达式的。到购书中心逛一圈,Java的书有五十多本,PHP的书有二十多本,正则表达式的书只有这一本。这样,得出的结论是:正则表达式应该没什么用处。这是不聪明的人得出的结论。 我们是聪明人,我们知道有些很有用的技术,学校里确实是不教的。 有一个很恰当的例子是广东话: 如果你学电影专业,音乐专业, 很有可能大学四年都学不到一句广东话。 然而所有的影帝,所有的歌神,周润发,梁朝伟,张国荣,陈奕迅,都是演广东话的电影,唱广东话的歌。 对我来说,不会讲广东话, 等于不会唱歌。不会讲广东话的人,永远做不了影帝, 这在历史上已经被一次又一次地证明过了。
正则表达式是IT领域的广东话。 它不像Java, PHP那样是一门正统的开发语言, 但它仍然是那么地有用, 可以说,不会正则表达式, 等于不会编程。
2. 很多工具支持。
学习一门陌生的语言,最大的障碍,莫过于与现有的知识结构冲突。 正则表达式中各个符号的意思,跟别的语言不同,例如点号(.)表示“任意一个单个的字符”。 为什么用点号? SQL里面明明是用下划线表示的,凭什么我要学习一门新的语言,用另外一套符号来表示这些东西?
因为正则表达式获得的支持,远比SQL,Javascript,HTML等这些语言广泛得多。 SQL只是用来查询数据库的。 HTML只有网页才用到。 它们都是特定的应用。 包括Java, PHP, 也只是特定的应用, 一个网站如果不是用Java开发的, 那Java里的什么符号表示什么意思对他来说毫无意义。 正则表达式比这些技术都更具有普遍的价值,凡是涉及到文字处理的领域,大多数都可以使用(也有例外,Word里面不能用),尤其是程序员的日常开发,完全是和文本打交道的,所有的代码都是文本,写代码本身就是文字处理,所以与正则表达式是密不可分的。
广东话也是这样。广东话拥有的群众基础, 远比其他地方的话要广泛得多。因为香港的电影和粤语歌曲,具有最大的影响力,到任何一所中学去问,一定知道Beyond的歌,没有哪种语言的歌曲具有粤语歌这么大的影响力。
但是要注意,很多文字处理方面的问题,正则表达式也只能傻眼,完全搞不定。如果你的日常工作是在Windows里面搜索某个文件名,用Word处理文档,或是用Google搜索信息,你马上就傻眼了,人家不支持正则表达式。 广东话也是这样,虽然粤语歌曲的影响力巨大,如果你去参加中国好声音,或者去台湾拍个电影,你也会傻眼的,广东话完全派不上用场啊。
3. 简单易学,很难忘记。
正则表达式没有什么新的语法,无非是从左到右,一个一个进行比较而已。同样的,广东话也不是一门单独的语言,语法和普通话是一样的。广东话和普通话的最大区别,是字的发音,而用词、造句都差不多的,只要每个字会读了,从左到右一个个读就行了。
学习一门语言,最重要的是平常使用。天天使用的东西,还会忘吗。在日常的编码工作中,Notepad++和Eclipse中都会经常用到正则表达式搜索字符串,我一天使用的次数大概有15次,每个星期都会用到一些比较高级的语法,如look ahead。只有这样才能做到易学、难忘。
看前两章,解决80%的日常需求,看第三章,解决90%
对“看前两章,解决80%的日常需求,看第三章,解决90%”的回应
《精通正则表达式》热门书评
-
编程人员自我提高的经典之作
36有用 1无用 charlee 2008-02-01
如果你只想“用”正则表达式,那么就别读这本书了,市面上任何一本编程书籍中讲解正则表达式的一章就足够了,网上的资料也很齐全。本书面向的读者是 1) 会用正则表达式 2) 愿意从一个代码工人向专家进化的 3) 对技术有狂热的追求的本书着重...
-
看前两章,解决80%的日常需求,看第三章,解决90%
16有用 0无用 架构师 2013-10-18
Mastering Regular Expressions 3rd Edition.pdf CSDN版本,配合一个勘误表来看。一共有10章,建议看前五章,各个章节的收获如下:看完1,2章: 解决80%的实际问题看完第3章: 90%看完第4章:97%看完第5章: 99.9%第6--10章不要看,原...
-
《精通正则表达式》勘误
15有用 1无用 石斑鱼 2007-09-14
详见http://blog.donews.com/maverick/archive/2007/09/14/1209937.aspx...
-
正则表达式经典之作
2有用 2无用 kdyliu 2007-11-16
读者朋友好!《精通正则表达式》(第3版)一书是博文视点2007年重点推广的程序设计类图书,该书是讲解正则表达式的经典之作。不了解正则表达式的读者,可循序渐进,依次阅读各章,即便之前完全未接触过正则表达式,读过前两章,也能在心中描绘出概略的图谱。相信仔细阅读完本书的读者,定会有登堂入室的感觉。不但能见...
-
见仁见智
2有用 4无用 纳兰经若 2009-03-17
这是我买的最亏的一本书......对我来说此书价值按百分比来算不超过0.1%......当我翻完第一章我发现已经再没有什么内容值得我继续下去,剩下的东西看自动机就可以了。本书其余部分不知道是写给什么人看的,反正不是我.........