# 05丨结束-使用正则提高你的人生效率

时间过得真快,我们这门《正则表达式入门课》到这里也就告一段落了。

虽然我之前做过每日一课的课程,也经常给朋友像讲课一样讲正则。但实际上,想要真正把正则用一门课的形式来呈现出来,还是不简单的。我每篇文章的写稿时间基本都在十个小时以上,可以说,正则这个专栏倾注了我很多的心思。每次深夜绞尽脑汁写稿略感疲惫的时候,看看大家充满热情的留言,真是给了我很多的力量。

借着这个机会,我也再和你唠叨唠叨,如何运用正则以及如何进一步成长。

正则涉及的编程语言和工具非常多,我没有办法去完全讲完,因为那样专栏会变得比较琐碎。在我看来,咱们学习任何内容,在一开始时,都不要过分去注重细节,重要的是掌握正确的方法,先从整体上入手,掌握核心的概念。比如当你学习了字符组、多选结构、量词、锚点、贪婪 & 非贪婪、流派、匹配原理这些核心知识之后,你要在后续遇到问题时,查阅一下相关文档,很快就可以解决掉了。

# 熟练运用,而不滥用

有些同学在学习正则之后,遇到问题总是想 「展示一下身手」,这种心理无可厚非,但一定要记住在使用正则的过程中,一定要克制。

我之前在课程里面提到的,密码是 6 位,且不能有连续两个数字出现 这个例子,如果你要高效解决这个问题,没必要非得用正则,完全可以遍历一下字符串,看下有没有两个连续的数字,这样解决起来容易。

所以啊,不要总想着非得用正则来完成事情,也不要总是想使用一个正则来完成整件事情,如果你把一个正则拆分成多个正则更方便、更易于理解和维护,我们就拆成使用多个正则来完成。比如刚刚说的例子,我们可以先判断输入的内容是不是符合 \w{6}, 再判断里面是不是有连续的两位数字,这样通过分步解决会简单很多。

我们要熟练运用正则,但不能滥用正则,不要手里拿着锤子,看啥都是钉子。用普通字符串就能很好解决的问题,就不要使用正则。用多个正则更清晰,更不容易出错,就不要有 非得要用一个正则解决所有问题 的执念。毕竟我们学习正则的目的,就是想高效地完成文本处理工作,但完成这个目标有很多方式,正则只是其中一种。

# 如何进一步成长?

在这个技术太多,变化太快的时代,我们需要不断地学习。可能你会觉得技术太多,压根学不完,但不要担心,基础原理性的东西绝对可控。我们需要做的就是沉下心来,不要浅尝辄止,越是基础的内容越重要,一次性多投入些时间,弄清楚,搞明白。多动手练习,实践出真知。

当你觉得你掌握了正则之后,你可以尝试把它教给别人,或者你可以想一下,如果让你来讲正则,你会怎么讲? 这样能够让你有更深刻的理解,用这个方法,你就能知道,自己到底是不是真的搞懂正则了。

如果你坚持学完了这个专栏,那么你对正则的掌握已经超过了绝大多数人,在日常工作中使用应该没什么问题了。另外,如果你觉得还没有学过瘾,可以再去看一下 《精通正则表达式》(第 3 版)和 《正则指引》(第 2 版)这两本书。第一本书不用多说,这应该是正则方面最为权威的一本书了,对正则的原理等都有比较深入的讲述。第二本是余晟写的,有大量的编程语言示例,比较接地气,对正则表达式如何处理中文有比较详细的讲解。