让你少写 1000 行代码的正则全攻略来了!

数据分析1480

共 2550字,需浏览 6分钟

 ·

2021-08-05 17:33

说起正则表达式,相信大家都不陌生。在很多程序员的认知中,这东西并不难,在工作中用的也不多,每次用的时候去 Google 搜一搜,然后复制过来改一改,问题就解决了,看起来效率特别高,好像完全没必要专门花时间和精力去学它。


说实话,我曾经也是这么觉得的,直到很久后,我才发现正则就是看似不用没什么影响,但一旦熟练应用了,就再也放不下的效率神器

 

为什么这么说?众所周知,作为计算机领域最伟大的发明之一,正则表达式简单、强大,极大地提高工作中的文本处理效率。而且几乎所有的编程语言,无论是前端的 JavaScript、还是后端的 Java、Python,以及各大操作系统、文本编辑器都支持正则表达式。

 

可以说,它围绕在日常工作中的方方面面。比如,我们经常需要从大段文本中抽取需要的内容,学会使用正则之后,不用写代码就可以完成类似的日常工作。举个例子,假如我们在 Sublime Text 3 中使用正则,查找重复出现的单词,并且想把它替换成单个单词

               

菜单中的 Find -> Replace,在查找栏中输入 (\w+) \1,在替换栏中输入子组的引用 \1 ,然后点击 Replace All 就可以完成替换工作了。这样,通过少量的正则,我们就完成了文本的处理工作了。是不是很方便呢?

 

用了正则后,你会发现,之前 20 分钟才能解决的问题,现在 2 分钟就可以搞定比如你还可以利用它来校验数据的有效性,判断用户输入的手机号是不是符合规则;也可以从文本中提取想要的内容,比如从网页中抽取数据;还可以用来做文本内容替换,从而得到我们想要的内容等等。

 

这些需要耗时很长的工作,用正则分分钟就可以解决。毫不夸张的说,学会灵活应用正则,能够让你至少可以少写 1000 行代码。

 

正则是真的强,但感觉很复杂,记不住,一学就劝退啊?

 

诸如此类的抱怨,我也经常听到,作为过来人,我只能说“我们都一样”,想想你之前是不是也是这么做的:

 

  • 用的时候,依靠从网上复制粘贴,运行全凭运气,对于如何构成,不求甚解;

  • 不懂正则表达式的底层原理和逻辑,在网上找到的正则总与自己的需求有些出入,看不懂,也不会改,达不到预期的效果,或者容易出现性能问题;

  • 不重视正则,觉得没有必要专门花心思学,用的时候才发现“方恨少”。

 

总结起来,就是没有系统学习正则、没有高效的记忆法。所以我也一直在找可以系统学正则的资料,机缘巧合,我在极客时间上看到一个涂伟忠讲解正则的「视频」,梳理得非常到位,可以先“mark”后看。

 


说实话,还挺受益的,所以在听说涂伟忠又在极客时间推出了《正则表达式入门课》专栏,我毫不犹豫地下手了,他的表达方式一如既往通俗易懂,也梳理了一套正则的系统学习路径,将通过多场景的案例,带你实操正则应用,真正做到可以跨平台、多语言活学活用,让正则这个强大的工具在你手上发挥出真正的威力。

 

下边是他总结的正则表达式记忆脑图中的“元字符”部分,分享给你,建议收藏👇

 

            

优秀的程序员,不会用行动的勤奋来掩盖思考和学习的懒惰,与其用的时候再去查,修修补补,真正系统学会正则,才可以真正提高你的工作效率。

 

👆扫我的二维码,免费试读

拼团 + 口令「happy2021」,立省 ¥30

到手 ¥69,仅限前 100 


涂伟忠是谁?


涂伟忠,现任某大型企业高级研发工程师,工作以来一直从事后端服务研发工作,在服务端开发方面有非常丰富的实战经验。编程十多年来,一直坚持技术输出,著有《Django开发从入门到实践》一书,也是极客时间每日一课《15分钟带你快速掌握正则表达式》的作者。

 

他是如何讲解正则表达式的?

 

其实说起学正则,大家的核心需求基本就是要「系统」,所以我也在看了几篇文章后,给你总结下这个课怎么讲的,共两个模块:先讲正则重要的概念和功能,再以工作中的真实案例,带你实操应用。

 

一、基础知识

 

正则的很多基本知识其实并不难,只是难记,记住并理解它,才是我们的最终目的。所以这部分讲述正则的基础概念和知识,比如正则元字符、匹配模式等,帮助大家巧妙记忆正则,并系统地建立有关正则的基础框架。

 

二、实操应用

主要讲正则的进阶内容,比如:

 

  • 正则中的断言,包括单词边界、行开始和结束、环视;

  • 正则中的主要流派,以及对应的软件实现;

  • 正则的工作机制和常见的优化方式等;

  • 不同编译器里的正则都有什么不同?

  • ....

 

通过这些内容,可以让你更加游刃有余地使用正则,也可以避过很多坑。比如,为什么在编程语言中能工作的正则,在 Linux 命令 grep 中就不能工作了呢?正则匹配的原理又是什么?如何写出性能更好的正则呢?等等,让你把正则这个工具更好地落地到实际工作中。

 

学完这个课程,你将获得:


  • 正则表达式的系统学习路径

  • 事半功倍的分类记忆法

  • 30+ 常见问题及解决方案

  • 多场景案例实操正则应用

 

1分钟看看目录,相信你会有所得👇

             

 

订阅福利

 

限时拼团+口令「happy2021」 


立省 ¥30,到手 ¥69,仅限前 100  


👆扫我的二维码,免费试读

 

 

👇 点击「阅读原文」可直接购买,记得使用优惠口令「happy2021」,以最优惠价 ¥69 入手。

浏览 25
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报