0Pricing
Python Academy · 课时

正则表达式基础

学习元字符、字符类、量词和锚点。

正则表达式基础 是 CoddyKit 上的免费 Python Academy 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Python Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Python Academy 课程共包含 4 节课。

简介

正则表达式是用于匹配文本的模式。Python 的 re 模块提供了使用它们的工具。

什么是正则表达式?

正则表达式是一系列构成搜索模式的字符。r'\d+' 可匹配一个或多个数字。
import re
print(re.findall(r'\d+', 'abc 123 def 456'))

字面字符

大多数字符会匹配自身:r'cat' 会按字面匹配字符串 'cat'。
import re
print(re.search(r'cat', 'the cat sat'))

点号(.)通配符

点号 . 可匹配除换行符之外的任意字符。r'c.t' 可匹配 'cat'、'cut' 和 'c9t'。
import re
print(re.findall(r'c.t', 'cat cut c9t caaat'))

字符类

[aeiou] 可匹配任意元音字母。[a-z] 可匹配任意小写字母。[^abc] 可匹配不在 {a,b,c} 中的任何内容。
import re
print(re.findall(r'[aeiou]', 'hello world'))

量词

* 表示零次或多次。+ 表示一次或多次。? 表示零次或一次。{3} 表示恰好 3 次。{2,4} 表示 2 到 4 次。
import re
print(re.findall(r'\d{2,4}', '1 12 123 1234 12345'))

锚点

^ 匹配字符串开头。$ 匹配结尾。\b 匹配单词边界。
import re
print(re.findall(r'^\w+', 'hello world'))
print(re.findall(r'\b\w{4}\b', 'cat cats come home'))

简写字符类

\d = 数字 [0-9]。\w = 单词字符 [a-zA-Z0-9_]。\s = 空白字符。大写版本表示否定:\D、\W、\S。
import re
print(re.findall(r'\w+', 'hello, world!'))

交替 |

r'cat|dog' 可匹配 'cat' 或 'dog'。括号用于分组:r'(cat|dog)s' 可匹配 'cats' 或 'dogs'。
import re
print(re.findall(r'cat|dog', 'I have a cat and a dog'))

贪婪与懒惰

.* 是贪婪匹配——尽可能匹配更多内容。.*? 是懒惰匹配——尽可能匹配更少内容。
import re
html = '<b>bold</b> and <i>italic</i>'
print(re.findall(r'<.*>', html))   # greedy
print(re.findall(r'<.*?>', html))  # lazy

正则表达式的原始字符串

请始终使用 r'...' 表示正则表达式模式,以避免双反斜杠转义:使用 r'\d',而不是 '\\d'。
import re
# Without r: '\\d+' is needed
# With r:    '\d+' is sufficient
print(re.findall(r'\d+', 'abc123'))

快速检查

在正则表达式中,\b 锚点匹配什么?

总结

正则表达式基础:.(任意字符)、[](字符类)、* + ? {}(量词)、^ $ \b(锚点)、\d \w \s(简写)、|(交替),以及贪婪与懒惰匹配。请始终使用 r'' 字符串。

继续学习

做得很好!下一课正在等待您。

常见问题解答

「正则表达式基础」课时是免费的吗?

是的 — 「正则表达式基础」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Python Academy 课程的其余内容,请升级到 CoddyKit PRO。 Python Academy 课程共包含 4 节课。

「正则表达式基础」这节课中我会学到什么?

学习元字符、字符类、量词和锚点。 你通过在浏览器中直接运行的动手代码来练习 Python Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Python Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Python Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。

「正则表达式基础」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Python Academy 课中编写并运行代码吗?

能。每节 Python Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 正则表达式基础
  2. 使用 re.match、re.search、re.findall
  3. 分组与命名捕获
  4. re.sub、标志与编译模式
← 返回 Python Academy