《JavaScript 正则表达式迷你书》问世了!

原创 老姚 随笔 我也来说说系列 3800阅读 2017-09-27 12:13:48 举报
下载链接:https://pan.baidu.com/s/1qYeC0ri

《JavaScript正则表达式迷你书》问世了!

感谢

由于本书是由个人文章修改而成,感谢各平台读者的支持。
感谢湖山,是他说我该把这些东西写出来的。
感谢小不,他在多方面给予了我帮助,封面是他设计的。
感谢小鱼二,他对全书进行了仔细地校对,并提出了相应的修改意见。
感谢丹迪的支持,他为我设计了多个封面,风格比较前卫,留给后续版本。
最后,尤其要感谢各位大佬帮我写的推荐序。他们的名字不分先后如下:大漠穷秋、小鱼二、Jack Lo、程序猿DD、江湖人称向前兄、文蔺、_周末、Dark_Night。

后记

我竟然写了一本书!想想就挺开心的。

这是个人的第一本书,虽然不厚,但也算是完成了个人的一个小梦想了。

说起正则表达式,我之所以会去详细地研究它,最初的动机是,当我分析前端常见的框架和库的源码时,发现一般被卡住的地方就是它。后来逐渐学习并看懂了“天书”,仿佛进入了一个新世界。

有些工具就是这样,当你没有它时,可能并未觉得有啥不好,可是一旦你拥有了它,再也放不下手了。掌握正则了后,对字符串一些复杂操作,竟然能很快地实现。看待问题的角度也发生了改变,每次看着精炼的正则代码,总是感觉真是妙不可言。

当然,对我而言,正则表达式不仅应用在代码里。生活中也会经常使用它。比如个人平时回答网友问题时,一些网站私信里贴的代码中字符都是转义的。此时我都会贴到某个编辑器里,然后写个正则,再一次性替换,真方便。

另外一个例子是,一些代码编辑器的代码格式化功能,总有让人不舒服的地方,此时我都会用写好正则表达式,再格式化一下。

还有一个很应景的例子,在编辑本书时,经常要在指定位置插入特定的语法格式,比如代码段前面要插入
[quote][source,javascript]
----[/quote]
这样的字符,此时,我发现我的大部分代码段,都是var开头的,并且前面有一空行。此时我打开查找替换功能,查找

(^\r\n)var
替换为

[source,javascript]\n----\nvar
这确实也帮我解决一部分工作。

当然,正则表达式是跟具体语言(比如JavaScript)无关的。因为正则表达式是用来处理字符串问题的,基本上每门语言都有字符串类型,那么也都会支持正则表达式的。正则表达式是分流派的,也跟实现引擎有关。而JavaScript用到的正则表达式的语法,是市面常见语言都支持的核心子集。关于API,各语言基本大同小异,想用的话,应该很快就能熟悉起来。

关于正则表达式就说到这里,下面说一说自己写这本书的收获。

有人说最好的学习方法就是写一本书。其实,要想把知识掌握牢固,归根到底就是用起来。写书或者说写作是一种很好的以教为学的手段。毕竟,形成文字,教给别人算是对知识的最直接的应用了。看似为了教,其实是为了学。只有教会别人才说明你掌握了。“以教为学”的手段除了写东西之外,还有翻译、以及面对面的辅导等。

以目标为导向的做中学,是比较有效的学习手段。本书是用Asciidoc写成的。它类似于Markdown,但在此书之前本人都没有用过。以需求为驱动,逐步百度检索,自己才逐渐把书整理好了。其中遇到了很多与语法无关的问题,比如转换pdf的过程中用的工具运行不起来,自己寻找原因,凭着感觉修改版本号等。又比如导出的pdf有缺字的问题,百度明白后才发现跟字体有关。边干边学,每解决掉一个问题,都挺有满足感的。带着问题去研究去学习,这是一种问题思维。然而一时的解决方案还不够,后来我详细地阅读了Asciidoc使用手册,也经常有“原来,还可以这样写!”的体会。

这点跟我们平常工作很像,以项目为导向,用啥学啥。比如初学一个框架,先干起来,边看文档,边敲代码。代码敲完了,还要详细地看一遍文档,届时会发现还有更好的实现方式。不只有眼前的苟且,还会有明天的迭代。

另外一点,我深深体会到了,干着简单繁杂的工作是怎样的体验。一遍遍校对,一遍遍修改。每次,看都会发现新的待完善的地方。以至于现在我感觉已经能把本书背下来了,单调的工作确实考验人的耐心。

就写到这里吧。如果你觉得此书不错的话,欢迎赞赏(书中有微信二维码的)。

《JavaScript正则表达式迷你书》问世了!

最后,我们该想起陆游诗人对前端做出的贡献:

纸上得来终觉浅,觉知此事要躬行。

本文完。

勘误信息在:https://zhuanlan.zhihu.com/p/29707385

竟然上前端网焦点图了。不胜荣幸!感激,真的很感激!感谢前端网,由衷希望你越来越好。
评论 ( 64 )
最新评论
xhlsrj 2018-04-06 20:47:41 64F

这两天拜读完,嗯,一定要感谢。话说有其它赞赏方式吗?
另外最后的参考目录中说

本书是无本之末

这个……是什么意思?(实在是没理解

陈陈陈大文 62F 2017-10-10 18:29:45 63F

我Q名是blue blue blue,哈哈!

hugeannex 59F 2017-10-10 18:24:21 62F

你是哪位。。。

老姚 60F 2017-10-10 18:21:36 61F

谢谢支持。

wocacaca 2017-10-10 15:55:58 60F

特别佩服有专研精神的人~老姚加油~

陈陈陈大文 12F 2017-10-10 14:49:35 59F

看来猜对啦,哈哈

a952543073 2017-10-09 15:50:50 58F

姚大大 牛逼

lzh2740128806 2017-10-09 11:47:04 57F

非常精致的一本书

老姚 51F 2017-10-08 18:25:06 56F

谢谢支持。

老姚 50F 2017-10-08 18:24:42 55F

谢谢支持。

老姚 49F 2017-10-08 18:24:25 54F

谢谢支持。

老姚 48F 2017-10-08 18:24:09 53F

谢谢支持。

老姚 47F 2017-10-08 18:23:54 52F

谢谢支持。

晨羽Alison 2017-10-08 14:02:01 51F

给你一个赞

zmx 2017-10-06 11:06:24 50F

老姚就是牛牛牛

我的小苹果 2017-10-03 20:52:33 49F

姚大 棒

一者乎 2017-09-30 17:47:55 48F

老姚就是牛牛牛

18514058338 2017-09-30 14:53:41 47F

向大神献上我的膝盖

良民 42F 2017-09-29 14:24:14 46F

老姚 40F 2017-09-29 09:29:44 45F

谢谢支持。