python3 正则表达式基础廖雪峰

Python3 正则表达式基础——廖雪峰

1. 正则表达式简介

正则表达式是一种用来匹配字符串的强大工具,它可以用来判断一个字符串是否符合某种模式。

2. 基本用法

2.1 字符匹配

使用正则表达式,可以通过指定具体的字符来匹配相应的字符串。

import re

str = "Hello, world!"

pattern = r"Hello"

result = re.search(pattern, str)

print(result.group())

运行以上代码,输出结果为Hello。

2.2 元字符

元字符是正则表达式中具有特殊功能的字符,例如 . 表示匹配任意字符,\d 表示匹配数字等。

import re

str = "Hello,123!"

pattern = r"\d+"

result = re.search(pattern, str)

print(result.group())

运行以上代码,输出结果为123。

3. 匹配模式

3.1 re.match与re.search

re.match与re.search的区别在于,re.match只匹配字符串的开始部分,而re.search则匹配整个字符串中的模式。

import re

str = "Hello, world!"

pattern = r"world"

result_match = re.match(pattern, str)

result_search = re.search(pattern, str)

print(result_match)

print(result_search.group())

运行以上代码,result_match为None,result_search的结果为world。

3.2 re.findall与re.finditer

re.findall返回一个包含所有匹配结果的列表,re.finditer返回一个包含所有匹配结果的迭代器。

import re

str = "Hello, 123 Python 456!"

pattern = r"\d+"

result_findall = re.findall(pattern, str)

result_finditer = re.finditer(pattern, str)

for match in result_finditer:

print(match.group())

运行以上代码,result_findall的结果为[123, 456],result_finditer的结果为123456。

4.子组

子组是一种将正则表达式中的一部分模式进行分组的方式。

import re

str = "Hello, my name is John."

pattern = r"Hello, (my name is \w+)."

result = re.search(pattern, str)

print(result.group(1))

运行以上代码,输出结果为my name is John。

总结

本文对Python3正则表达式基础进行了介绍。在实际应用中,正则表达式可以帮助我们快速有效地进行字符串匹配和处理。熟练掌握正则表达式的基本用法和常用的匹配模式,可以大大提高编程效率。

后端开发标签