Python 正则表达式

Python 的 re 模块提供了对正则表达式的支持。本教程将深入讲解如何使用 Python 3 中的正则表达式。

1. 导入 re 模块

在开始之前,你需要先导入 re 模块。这个模块提供了对正则表达式的全部支持。

import re

2. 基本匹配操作

2.1 match() 方法

match() 方法用于查找字符串是否匹配正则表达式的模式,如果匹配成功,返回一个 Match 对象;否则返回 None

text = "Hello, Python!"
pattern = r"Hello"
matchObj = re.match(pattern, text)
if matchObj:
   print("match --> matchObj.group() : ", matchObj.group())
else:
   print("No match!!")

2.2 search() 方法

search() 方法与 match() 方法类似,但它不仅在字符串开头匹配,任意位置匹配都可以。

text = "Hello, Python!"
pattern = r"Python"
searchObj = re.search(pattern, text)
if searchObj:
   print("search --> searchObj.group() : ", searchObj.group())
else:
   print("Nothing found!!")

3. 正则表达式模式

3.1 . (匹配任意单个字符)

. 可以匹配任意单个字符,但不能匹配换行符。

text = "Hello, Python!"
pattern = r"."
print(re.findall(pattern, text))

3.2 * (匹配前面的子表达式零次或多次)

* 可以匹配前面的子表达式零次或多次。

text = "aaaab"
pattern = r"a*"
print(re.findall(pattern, text))

4. 正则表达式特殊字符集合

这些是常用的正则表达式特殊字符集合:

  • \d:匹配任意数字。
  • \D:匹配任意非数字字符。
  • \s:匹配任意空白字符(包括空格、换行符等)。
  • \S:匹配任意非空白字符。
  • \w:匹配任意单词字符(等价于 [a-zA-Z0-9_])。
  • \W:匹配任意非单词字符。

以上只是一些基本操作,还有很多高级用法可以深入学习。希望这个教程能够帮助你理解 Python 3 中的正则表达式。如有疑问,欢迎随时咨询!