Python正则表达式入门指南
更新时间:2023-12-16Python正则表达式入门指南
正则表达式是一种强大的文本处理工具,可用于过滤、搜索和替换文本。Python内置了re模块,它支持正则表达式的用法,本文将介绍Python正则表达式的基本语法和用法。
正则表达式基本语法
正则表达式是一组匹配规则,它由一个或多个字符和特殊字符组成。下面介绍Python正则表达式的基本语法:
1. 字符匹配
import re strs=['abc', 'def', '123', 'abc123'] pattern='abc' for s in strs: if re.match(pattern, s): print(s)
上面的代码中,使用match方法匹配字符串,如果匹配成功则返回匹配对象,否则返回None。
2. 特殊字符
pattern='\d' # 表示匹配数字字符 str1='abc123def456' print(re.findall(pattern, str1)) # ['1', '2', '3', '4', '5', '6']
上面代码中,使用\d特殊字符表示匹配数字字符。
3. 匹配重复字符
pattern='a{2,4}' # 表示匹配连续出现2~4次的字符a str1='aaaabbcccc' print(re.findall(pattern, str1)) # ['aaaa']
上面代码中,使用a{2,4}表示匹配连续出现2~4次的字符a。
正则表达式的常用方法
Python re模块提供了很多方法,用于处理正则表达式。
1. match方法
str1='abc123def456' pattern='abc' match_obj=re.match(pattern, str1) # 匹配就返回对象,否则返回None if match_obj: print(match_obj.group()) # 匹配到的字符串 abc
上面代码中,使用match方法匹配字符串,返回匹配到的字符串对象。
2. search方法
str1='abc123def456' pattern='[0-9]+' search_obj=re.search(pattern, str1) # 匹配就返回对象,否则返回None if search_obj: print(search_obj.group()) # 匹配到的字符串 123
上面代码中,使用search方法匹配字符串,返回匹配到的字符串对象。
3. findall方法
str1='abc123def456' pattern='\d+' findall_obj=re.findall(pattern, str1) # 返回一个匹配到的字符串列表 print(findall_obj) # ['123', '456']
上面代码中,使用findall方法匹配字符串,返回匹配到的字符串列表。
总结
Python正则表达式是一种强大而灵活的文本处理工具,它提供了丰富的功能,包括字符匹配、特殊字符和匹配重复字符等。Python内置的re模块提供了很多方法,用于处理正则表达式,如match、search和findall等。学会正则表达式,将会大大提高我们处理文本的效率和能力。