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 Codeimport 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']
以上是一些基本的正则表达式语法和实例演示。在实际使用中,可以根据需要结合多种语法进行模式匹配。