Python 正则表达式学习笔记

什么是正则表达式?

正则表达式是对字符串进行模式匹配的工具,它用一种描述性的语言来定义一个搜索模式,这个模式可以用来匹配和处理文本。

基本语法

元字符

在正则表达式中,一些特殊字符被称为元字符,它们具有特殊的含义:

  • .:匹配任意一个字符
  • *:匹配前面的字符出现0次或多次
  • +:匹配前面的字符出现1次或多次
  • ?:匹配前面的字符出现0次或1次
  • ^:匹配字符串的开始位置
  • $:匹配字符串的结束位置
  • \:转义字符,用于匹配一些特殊字符

字符集

字符集用于匹配一组字符,可以用方括号表示:

  • [abc]:匹配a、b、c中的任意一个字符
  • [a-z]:匹配a~z中的任意一个字符
  • [^abc]:匹配除了a、b、c以外的任意一个字符

特殊字符集

还有一些常用的特殊字符集:

  • \d:匹配任意一个数字字符
  • \D:匹配非数字字符
  • \w:匹配任意一个字母、数字或下划线
  • \W:匹配非字母、数字或下划线
  • \s:匹配任意一个空格字符
  • \S:匹配非空格字符

重复匹配

可以使用花括号指定一个字符匹配的次数:

  • {n}:匹配前面的字符恰好出现n次
  • {n,}:匹配前面的字符至少出现n次
  • {n,m}:匹配前面的字符出现n到m次

实例演示

以下是一些实例演示:

pythonCopy Code
import re # 匹配任意一个数字字符 pattern = r"\d" text = "Python3 is better than Python2" result = re.findall(pattern, text) print(result) # ['3', '2'] # 匹配任意一个空格字符 pattern = r"\s" text = "Python3 is better than Python2" result = re.findall(pattern, text) print(result) # [' ', ' ', ' ', ' ', ' '] # 匹配以p开头的单词 pattern = r"\bp\w*" text = "Python3 is better than Python2" result = re.findall(pattern, text) print(result) # ['Python3', 'Python2']

以上是一些基本的正则表达式语法和实例演示。在实际使用中,可以根据需要结合多种语法进行模式匹配。