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