说起正则表达式,相信大家都不陌生。在很多程序员的认知中,这东西并不难,在工作中用的也不多,每次用的时候去 Google 搜一搜,然后复制过来改一改,问题就解决了,看起来效率特别高,好像完全没必要专门花时间和精力去学它。
如果你也是这么觉得,我只能说,你对正则这个强大的工具,还不够了解。在我看来,正则就是看似不用没什么影响,但一旦熟练应用了,就再也放不下的“效率神器“。
为什么这么说?众所周知,作为计算机领域最伟大的发明之一,正则表达式简单、强大,极大地提高工作中的文本处理效率。而且几乎所有的编程语言,无论是前端的 JavaScript、还是后端的 Java、Python,以及各大操作系统、文本编辑器都支持正则表达式。
可以说,它围绕在日常工作中的方方面面。比如,我们经常需要从大段文本中抽取需要的内容,学会使用正则之后,不用写代码就可以完成类似的日常工作。举个例子,假如我们在 Sublime Text 3 中使用正则,查找重复出现的单词,并且想把它替换成单个单词。
菜单中的 Find -> Replace,在查找栏中输入 (\w+) \1,在替换栏中输入子组的引用 \1 ,然后点击 Replace All 就可以完成替换工作了。这样,通过少量的正则,我们就完成了文本的处理工作了。是不是很方便呢?
用了正则后,你会发现,之前 20 分钟才能解决的问题,现在 2 分钟就可以搞定,比如你还可以利用它来校验数据的有效性,判断用户输入的手机号是不是符合规则;也可以从文本中提取想要的内容,比如从网页中抽取数据;还可以用来做文本内容替换,从而得到我们想要的内容等等。
这些需要耗时很长的工作,用正则分分钟就可以解决。毫不夸张的说,学会灵活应用正则,能够让你至少可以少写 1000 行代码。
正则是真的强,但感觉很复杂,记不住,一学就劝退啊?
相信这是不少人的心声,其实,你之所以觉得正则”难学难记“,究其根本,还是因为:
用的时候,依靠从网上复制粘贴,运行全凭运气,对于如何构成,不求甚解;
不懂正则表达式的底层原理和逻辑,在网上找到的正则总与自己的需求有些出入,看不懂,也不会改,达不到预期的效果,或者容易出现性能问题;
不重视正则,觉得没有必要专门花心思学,用的时候才发现“方恨少“。
总结起来,就是没有系统学习正则、没有高效的学习记忆法。早在之前我在极客时间上做过一个讲解正则「视频」,就曾经给这些问题提供过一些解决思路。
在视频中,关于正则记忆和使用,我提炼过一套学习图谱,得到了不少同学的热烈反响,但时长有限,无法展开细讲。所以,这次我在极客时间推出了《正则表达式入门课》专栏,想用通俗易懂的方式,给你套正则的系统学习路径,通过多场景的案例,带你实操正则应用,真正做到可以跨平台、多语言活学活用,让正则这个强大的工具在你手上发挥出真正的威力。
立即扫码,免费试读👆结算时,
输入优惠口令「weizhong9」
到手价 ¥ 50 ,立省 ¥ 18
仅限「前 200 人」有效
为了帮你事半功倍的学习正则,在这里,我也把我整理的记忆脑图中的“元字符”部分,分享给你,建议收藏👇
优秀的程序员,不会用行动的勤奋来掩盖思考和学习的懒惰,与其用的时候再去查,修修补补,真正系统学会正则,才可以真正提高你的工作效率。
我是涂伟忠,现任某大型企业高级研发工程师,工作以来一直从事后端服务研发工作,在服务端开发方面有非常丰富的实战经验。编程十多年来,一直坚持技术输出,著有《Django 开发从入门到实践》一书,也是极客时间每日一课《15 分钟带你快速掌握正则表达式》的作者。
为了真正解决大家「系统学习正则」这一核心的需求,我在设计课程时,会先带你掌握正则重要的概念和功能,再以工作中的真实案例,带你实操应用。基于整个思路,课程共两个模块:
正则的很多基本知识其实并不难,只是难记,记住并理解它,才是我们的最终目的。所以这部分我将讲述正则的基础概念和知识,比如正则元字符、匹配模式等,帮助大家巧妙记忆正则,并系统地建立有关正则的基础框架。
这里我主要讲正则的进阶内容,比如:
正则中的断言,包括单词边界、行开始和结束、环视;
正则中的主要流派,以及对应的软件实现;
正则的工作机制和常见的优化方式等;
不同编译器里的正则都有什么不同?
....
通过这些内容,可以让你更加游刃有余地使用正则,也可以避过很多坑。比如,为什么在编程语言中能工作的正则,在 Linux 命令 grep 中就不能工作了呢?正则匹配的原理又是什么?如何写出性能更好的正则呢?等等,让你把正则这个工具更好地落地到实际工作中。
正则表达式的系统学习路径
事半功倍的分类记忆法
30+ 常见问题及解决方案
多场景案例实操正则应用
1 分钟看看目录,相信你会有所得👇
1 早鸟优惠 ¥55,原价 ¥68,结算时,输入优惠口令:「weizhong9」,到手价 ¥ 50,立省 ¥18 ,仅限「前 200 人」有效
2 订阅后分享海报,每邀请一位好友订阅,可得 ¥18 返现,多邀多得,上不封顶。
👆 立即扫码,免费试读
温馨提示:
订阅后可通过「极客时间 App」或「极客时间小程序」我的 - 已购,学习已订阅的专栏。
👇点击「阅读原文」,
输入优惠口令「weizhong9」,
以最低价 ¥50 入手,仅限 前 200 人。