绿林网

Mastering Regular Expressions 3rd读后感精选

Mastering Regular Expressions 3rd读后感精选

《Mastering Regular Expressions 3rd》是一本由Jeffrey E.F. Friedl著作,O'Reilly Media出版的Paperback图书,本书定价:USD 44.99,页数:544,特精心收集的读后感,希望对大家能有帮助。

《Mastering Regular Expressions 3rd》读后感(一):编程技巧的必修课

这是我最近读过些的最好的技术书籍了。原来正做表达式的用法可以这么神奇,虽然原来也一直是必备工具,但是从来没想到过怎么在整篇文章中直接用一个很简单的表达式找到连续重复的单词!想知道吗?去看看原著吧,就在第一章里面。

《Mastering Regular Expressions 3rd》读后感(二):很不错,写代码的同志都“拿来主义”一下吧!

看正则的缘由:

Vim用的有一短时间了, 时常用里面的替换功能,但有时发现简单替换仍旧力不从心,觉得应该看些正则的东西。

网上查了些正则的例子,但看过例子之后,只是觉得当前的东西可以用了,却始终抓不到边际本质。

暑假决定给自己放一周,平时的MRI的东西和Matlab,Python程序都放到一边, 抱起这本书(和Ukulele)!

对我的情况来说(写Maltab 和Python代码, 文本编辑器Vim), 抱这本书来看,总让人觉得是为了解渴,自己去挖了口井,看起来似乎随便找点水来喝就OK了。

这样可能有点大动干戈(其实也就是看了5天左右),但看了之后的感觉就是以后不用找水喝了!(看看它还是很有好处的,掌握些regex方面的词汇,以后在stackoverflow里贴个问题也方便些,以备将来再次找“水”)

对Vim用户,可能这个会有用:

http://www.softpanorama.org/Editors/Vimorama/vim_regular_expressions.shtml

http://vimregex.com/

《Mastering Regular Expressions 3rd》读后感(三):想系统的学正则,这一本书足够了

书比我想象中的厚,当初选择看这本书完全是被电子书的大小给骗了,网上流传的epub格式的电子书虽然1M不到,本还打算当做厕所读物看的,结果没想到这本书看了这么久,久到我刷完了《good luck charlie》四季,这本书还在坚挺着摆在我的书桌上。另外在这里提一句,千万别把网上流传的epub版本转成mobi或其他格式在kindle上看,因为首先是这个epub版本的font有问题,怎么调都不对,在kindle上显示的时候前景色不是特别亮,一本书看下来眼已瞎;其次不推荐看这个版本的电子书是因为我怀疑这本电子版的书是从chm转成epub格式的,用calibre转chm格式的时候somehow会去掉行末尾的空格,这就导致了生成的epub的文本中,有大量的英文单词是连在一起的没有空格,这一点也能看到你脑壳懵逼;其三是因为文中大量的使用“见Page***”多少多少页来着,在kindle上完全没有页的概念,看到我抓狂,所以我建议买正版看,亚马逊上也有电子版和影印版,但是有点小贵,省钱的话可以把网上pdf版本的打印装订出来,也很便宜,某宝就有这种服务。如果你喜欢看书,又囤了大量的pdf电子书,而且你还不知道某宝还有这种便宜的操作,那么你会回来感谢我的。

废话说完,步入正文,先开始说说我为什么要选择看这本书,不得不说我平常使用正则的情况还是非常多的,例如找网页上的下载链接,例如找tumblr上的下载链接然后通过迅雷下载,简直就是看片利器。另外我个人非常喜欢的anki工具中卡片的制作,也是通过欧陆词典和Notepad++在加上一点正则表达式,就能批量生产我喜欢的卡片。linux中的grep或者很多很多的text editor都支持正则,这也极大的便利了正则的使用。在工作中用到正则的情况也不少,写工具爬虫或者嗅探代码中的臭味道等,基本能用正则表达式完成。另外学习正则表达式还有一个利好,就是学会了正则,基本上在其他很多编程语言像Java,C#,python,Javascript等语言中使用,不需要额外的学习成本。

之所以觉得有必要是因为在平常的使用中还是发现一些需求的功能不能很好的利用正则表达式来实现,同时也发现自己写的代码一个性能的问题,这使我萌生出需要系统的学习正则的强烈想法。

选择系统的学正则,这一本书足够了。

书虽然厚,但是有一些章节可以省略掉不看。在我看来把第一,二,四和五章看下就够了,剩下的3,6,7,8,9,10可以选择性的看吧,因为作者废话确实不少。

如果读者不熟悉正则表达式,那么第一二章可以配合着边练习边看,我这里找到一些训练regex基本技能的网站 (可能需要越过长城,国内访问比较慢):

https://www.hackerrank.com/domains/regex/re-introduction

https://regexcrossword.com/

另外我还发现一个测正则表达式的网站,强烈推荐一下:https://regex101.com/

推荐理由如下:

1. 支持不同的Flavor,有php,Javascript,Python,golang

2. 支持代码生成

3. 支持debug(这个我没用过)

4. 右下角由一些语法查询,对初学者非常友好

5. 显示每个匹配的结果同时输出match,step和消耗时间,同时还会显示explaination,解释怎么匹配的,对初学者非常的友好

第三章个人认为废话太多了,也没啥实质内容。

对于第四章是我看的最爽的一章,高潮迭起,这章是解决性能问题的最佳利器。

对于第五章就当是跟着作者思路体验一把作者写正则的意淫,作者思路还是非常惊艳,会发现自己很多以前都没考虑过也没发现的问题。

第六章之所以推荐不看是因为废话太多了。剩下的7,8,9,10对应的是针对不同语言的,看到这里已经毫无看下去的动力了,再见。

《Mastering Regular Expressions 3rd》读后感(四):看前两章,解决80%的日常需求,看第三章,解决90%

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。只有这样才能做到易学、难忘。

本文由作者上传并发布(或网友转载),绿林网仅提供信息发布平台。文章仅代表作者个人观点,未经作者许可,不可转载。
点击查看全文
相关推荐
热门推荐