⭐⭐⭐ Spring Boot 项目实战 ⭐⭐⭐ Spring Cloud 项目实战
《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 https://github.com/ziishaned/learn-regex 「ziishaned」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注**微信公众号:【芋道源码】**有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言将得到认真回复。甚至不知道如何读源码也可以请教噢
  4. 新的源码解析文章实时收到通知。每周更新一篇左右
  5. 认真的源码交流微信群。

无论你使用的是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 的单词都能很正则表达式匹配。

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

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

文章目录
  1. 1. 什么是正则表达式
  2. 2. 项目内容
  3. 3. 在线练习