正则表达式入门课 - 涂伟忠编程与开发技术教程

正则表达式入门课 / 教你轻松学习正则

涂伟忠 高级研发工程师
📅 更新时间:
🔥 热门推荐
  • 📖 课程目录
  • 📝 课程介绍
  • 导读 | 余晟:我是怎么学习和使用正则的?

    掌握了适当的方法,学会“克制”,正则其实很轻松。

  • 01 | 元字符:如何巧妙记忆正则表达式的基本元件?

    正则表达式里的元字符可以通过分类的方法来实现快速记忆。

  • 02丨量词与贪婪:小小的正则,也可能把CPU拖垮!

    我们在写正则的时候,一定要思考下回溯问题,避免使用低效的正则,引发线上问题。

  • 03 | 分组与引用:如何用正则实现更复杂的查找和替换操作?

    我们可以利用分组引用,来实现将“原文本部分内容”,在查找或替换时进行再次利用,达到实现复杂文本的查找和替换工作。

  • 04 | 匹配模式:一次性掌握正则中常见的4种匹配模式

    正则中常见的匹配模式有4种,分别是不区分大小写模式、点号通配模式、多行模式和注释模式。

  • 05 | 断言:如何用断言更好地实现替换重复出现的单词?

    正则中提供了一些结构,只用于匹配位置,而不是文本内容本身,这种结构就是断言。

  • 06 | 转义:正则中转义需要注意哪些问题?

    正则中转义有些情况会比较复杂,从录入的字符串文本,到最终的正则表达式,会经过字符串转义和正则转义两个步骤。

  • 07 | 正则有哪些常见的流派及其特性?

    一般情况下,我们面对的都是GNU BRE和GNU ERE。它们的主要区别在于,前者要转义。

  • 08 | 应用1:正则如何处理 Unicode 编码的文本?

    在使用Unicode的时候你要弄明白是拿Unicode去匹配,还是编码后的某部分字节去进行匹配。

  • 09 | 应用2:如何在编辑器中使用正则完成工作?

    正则的使用一般会和其它的方法结合起来,最终帮助我们高效地完成文本的处理工作。

  • 10 | 应用3:如何在语言中用正则让文本处理能力上一个台阶?

    正则解决的问题大概可以分成四类,分别是校验文本内容、提取文本内容、替换文本内容、切割文本内容。

  • 11 | 如何理解正则的匹配原理以及优化原则?

    只有了解正则引擎的工作原理,我们才可以更轻松地写出正确的,性能更好的正则表达式。

  • 12 | 问题集锦:详解正则常见问题及解决方案

    正则处理问题的基本思路,通常是将问题拆解成多个小问题,每个小问题见招拆招。

  • 加餐 | 从编程语言的角度来理解正则表达式

    除了从正则表达式自身的语法元素、功能特性来理解正则表达式之外,我们还可以站在编程语言以及编程范式的层面去理解正则表达式。

  • 结束语 | 使用正则提高你的人生效率

    我们需要做的就是沉下心来,不要浅尝辄止,越是基础的内容越重要,一次性多投入些时间,弄清楚,搞明白。

  • 结课测试 | 这些正则知识,你都掌握了吗?

    为了帮助你检验自己的学习效果,我特别给你准备了一套结课测试题。这套测试题共有20道题目,满分100分。

📋 课程详细介绍

你将获得 多场景案例实操正则应用 讲师介绍...

你将获得

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


讲师介绍

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


课程介绍

作为计算机领域最伟大的发明之一,正则表达式简单、强大,它可以极大地提高我们文本处理的效率。但是,很多人提起正则,都会是下面这样的场景:

  1. 哎,不会写正则,算了,从网上直接找现成的吧;
  2. 阻挠我学正则的,不是我的内心,而是难记的正则符号。

你是不是也觉得似曾相识呢?但如果止步于此,我们永远都不能真正掌握正则这个利器。

比如,我们很难从网上找到适合自己业务场景的正则表达式,如果自己还不会改的话,就很容易出现性能问题,例如正则出现大量的回溯,拖垮了CPU。

除此之外,不会正则还会降低我们的工作效率,其实很多看似麻烦的事情,用正则可以轻松搞定。比如下面这个例子,从文本中找出连续出现的重复单词。你可以看到,正则可以很方便地帮我们搞定这个需求。

>>> import re
>>> test_str = "the little cat cat in the hat hat."
>>> re.sub(r'(\w+) \1', r'\1', test_str)
'the little cat in the hat.'

因此,涂伟忠老师打算用一套系统化的方式教你巧妙地记忆、掌握正则,并一步步讲述正则的知识框架,最后通过对比不同编程语言和编译器中的正则,教你在实操中理解并学会正则表达式。

课程模块设计

课程共两个模块,分别是基础篇和应用篇。

正则基础篇

基础篇将讲述正则的基础概念和知识,比如正则元字符、匹配模式等,帮助用户巧妙记忆正则,并系统地建立有关正则的基础框架,为下一步的进阶打下基础。

正则应用篇

在应用篇中,将讲述正则的进阶内容,比如正则中的断言是什么,正则都有哪些流派,不同编译器里的正则都有什么不同?通过这些内容,可以让你更加游刃有余地使用正则,把正则这个工具更好地落地到实际工作中。


课程目录


特别放送

免费领取福利


限时活动推荐


订阅须知

💡 学习建议

  • 建议按照课程目录顺序学习,循序渐进掌握知识点
  • 每个章节配合实战练习,巩固所学内容
  • 遇到问题可在评论区交流,社区互助学习
  • 完成课程后尝试独立项目,检验学习成果

❓ 常见问题 FAQ

这个教程适合什么水平的学习者?

本教程从基础概念讲起,逐步深入到高级应用,适合零基础初学者到有一定经验的开发者。无论您是刚入门还是想提升技能,都能从中受益。

学习这个教程需要多长时间?

根据个人基础和每天学习时间不同,通常需要2-4周可以完成基础部分,深入掌握需要1-2个月的持续学习和实践。建议每天投入1-2小时系统学习。

学完后能达到什么水平?

完成本教程后,您将掌握编程与开发的核心技术和最佳实践,能够独立开发实际项目,具备中级开发工程师的技术能力,为求职或晋升打下坚实基础。