Python正则表达式详解

需积分: 0 1 下载量 142 浏览量 更新于2024-08-04 收藏 14KB DOCX 举报
Python正则表达式详解 Python中的正则表达式是指使用特殊字符和语法来描述字符串模式的方法。正则表达式可以用来匹配、搜索和操作字符串。 **小数点(.)** 小数点(.)可以匹配除了换行符(\n)以外的任意一个字符。 **逻辑或操作符(|)** 逻辑或操作符(|)用来表示或关系,例如`a|b`可以匹配字符串`a`或`b`。 **字符集([])** 字符集([])用来匹配字符集中的一个字符,例如`[abc]`可以匹配字符串`a`、`b`或`c`。如果在字符集的开头使用尖号(^),则表示对字符集求反,也就是上面的反操作。 **字符区间([])** 字符区间([])用来定义[]里的一个字符区间,例如`[a-z]`可以匹配从`a`到`z`的任意一个字符。 **转义字符(\)** 转义字符(\)用来对紧跟其后的一个字符进行转义(转换意义),例如`\.`可以匹配字符串`.`。 **分组(())** 分组(())用来对表达式进行分组,将圆括号内的内容当做一个整体,并获得匹配的值。 **重复表达式** {n}表达式重复n次,比如`\d{2}`相当于`\d\d`,`a{3}`相当于`aaa`。 {m,n}表达式至少重复m次,最多重复n次。比如`ab{1,3}`可以匹配`ab`或`abb`或`abbb`。 {m,}表达式至少重复m次。 **预定义字符类** \d任意一个数字,0~9中的任意一个。 \D\d的反集,也就是非数字的任意一个字符,等同于[^\d]。 \w任意一个字母或数字或下划线,也就是A~Z,a~z,0~9,_中的任意一个。 \W\w的反集,也就是[^\w]。 **实践示例** ``` #zhengze='a.b'#[acb,adb] #zhengze='a|b|d'#['a','b','a','d','b','a','b'] #zhengze='[a]'#['a','a','a'] #zhengze='[^a]'#['c','b','d','b','c','c','c','c','b'] #s01='acbadbaccccb' #zhengze='[1-4]'#['1','2','3','4'] #zhengze='[a-c]'#['a','b','c','a','b','a','b'] #zhengze='\.'#['.'] #zhengze='(abc)'#['abc'] #s01='abc.ab123567ab4dfgh' #a=re.findall(zhengze,s01) #print(a) ``` ``` #zhengze='\d'#['7','8','9','5'] #zhengze='\D'#['a','_','b','c',',','d',';','c','c'] #zhengze='\w'#['a','7','_','b','8','c','9','d','5','c','c'] #zhengze='\W'#[',',';'] #s01='a7_b8c9,d5;cc' #a=re.findall(zhengze,s01) #print(a) ``` 正则表达式是Python中非常强大的工具,可以用来匹配、搜索和操作字符串。