Py学习  »  Git

GitHub 标星 2.4w!最火正则表达式课程学起来!

五分钟学算法 • 4 年前 • 281 次点击  

点击蓝色“五分钟学算法”关注我哟

加个“星标”,天天中午 12:15,一起学算法

作者 | 晓查

来源 | 量子位

无论你使用的是 Python、Java、Perl 还是 Shell,正则表达式是学习主流编程语言几乎绕不开的话题。有了它,就能帮你快速定位到符合筛选条件的文本内容。

但对于初学者来说,有两座摆在面前的 “大山”:

一是正则表达式包含的符号种类非常多,如果只是死记硬背,学习起来会非常痛苦;

二是单独介绍正则表达式的中文图书资源非常少,而且存在介绍混乱的问题,不利于系统学习。

现在 GitHub 上的有个 2.4 万星的项目 learn-regex 解决了初学者的困难。最近这个教程刚完成了汉化工作,还附有在线练习,帮助初学者快速入门正则表达式。

https://github.com/ziishaned/learn-regex

什么是正则表达式

正则表达式( Regular expression)是一组由字母和符号组成的特殊文本,它可以用来从文本中找出满足你想要的格式的句子。

比如我们在网站中看到对用户名规则做出了如下限制:只能包含小写字母、数字、下划线和连字符,并且限制用户名长度在 3~15 个字符之间,如何验证一个用户名是否符合规则呢 ?我们使用以下正则表达式:

以上的正则表达式可以接受 john_doe、jo-hn_doe、john12_as,但不能匹配 Jo,因为它包含了大写字母而且长度不到 3 个字符。

项目内容

learn-regex 整个教程分为 6 节,内容比较简短,很快就能阅读完。

教程从最简单的正则表达式入手,紧接着又介绍了核心内容元字符,然后由简到难介绍正则表达式的各种用法。

在线练习

如果你以为 learn-regex 只是个简单的汉化教程就大错特错了。learn-regex 之所以能获得 2.4 万星的高赞,还有个重要原因就是它提供了在线练习,直观地展示了正则表达式的匹配方式。

https://regex101.com/

比如 (c|g|p)ar 是如何匹配 The car is parked in the garage. 这句话中的几个单词的:

我们可以直观地看到以 c、g、p 开头并且紧跟 ar 的单词都能很正则表达式匹配。

网页的右侧还会给出相应的解释:

如此操作,让人感觉要枯燥的文字解释动许多大家不妨试玩一下。

看完之后想实战一下?来,点这:深度解析「正则表达式匹配」:从暴力解法到动态规划

以上,便是今天的分享,觉得内容对你有所帮助的,还请点个「在看」支持,谢谢各位。




● 用好这 42 款 Chrome 插件,每年轻松省出一个年假

● 【算法之美】改变世界的十位算法大师

● 把 14 亿中国人都拉到一个微信群在技术上能实现吗?

● 全球最厉害的 14 位程序员!


—  —


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/39219
 
281 次点击