文章目录
说明
- 正则表达式不需要全部背,有一个相对的了解就可以了。遇到不会的查看或者百度。遇到具体问题时查看别人写好表达式,在别人的基础上改进。完全掌握有点难,即使掌握了很快就会忘记。
- 直接在我的笔记上查看。
正则表达式语法


Python正则表达式
-
指定好匹配的模式-pattern
-
选择相应的方法-match,search等
-
得到匹配结果-group
-
re.match #从开始位置开始匹配,如果开头没有则无
-
re.search #搜索整个字符串
-
re.findall #搜索整个字符串,返回一个list

字符集合
- [abc] 指定包含字符
- [a-zA-Z] 来指定所以英文字母的大小写
- [^a-zA-Z] 指定不匹配所有英文字母

或方法
将两个规则并列起来,以‘ | ’连接,表示只要满足其中之一就可以匹配。
- [a-zA-Z]|[0-9] 表示满足数字或字母就可以匹配,这个规则等价于 [a-zA-Z0-9]

匹配数字 ‘\d’ 等价于 [0-9]

‘\D’ 匹配非数字

‘\w’ 匹配字母和数字

\W’ 匹配非字母和数字

‘\s’ 匹配间隔符

重复
正则式可以匹配不定长的字符串


精确匹配和最小匹配

match 与 search
-
它们的返回不是一个简单的字符串列表,而是一个 MatchObject,可以得到更多的信息。
-
如果匹配不成功,它们则返回一个 NoneType 。所以在对匹配完的结果进行操作之前,必需先判断一下是否匹配成功了。
-
match 从字符串的开头开始匹配,如果开头位置没有匹配成功,就算失败了;而 search 会跳过开头,继续向后寻找是否有匹配的字符串。

字符串的替换和修改
在目标字符串中规格规则查找匹配的字符串,再把它们替换成指定的字符串。你可以指定一个最多替换次数,否则将替换所有的匹配到的字符串。
sub ( rule , replace , target [,count] )
subn(rule , replace , target [,count] )
第一个参数是正则规则,第二个参数是指定的用来替换的字符串,第三个参数是目标字符串,第四个参数是最多替换次数。
sub 返回一个被替换的字符串
subn 返回一个元组,第一个元素是被替换的字符串,第二个元素是一个数字,表明产生了多少次替换。

split 切片函数。使用指定的正则规则在目标字符串中查找匹配的字符串,用它们作为分界,把字符串切片。
split( rule , target [,maxsplit] )
第一个参数是正则规则,第二个参数是目标字符串,第三个参数是最多切片次数,返回一个被切完的子字符串的列表

‘(?P…)’ 命名组

例子


本文详细介绍Python正则表达式的语法及应用,包括字符集合、重复、精确匹配、最小匹配等概念,以及match、search、findall等方法的使用。同时,文章还介绍了如何利用正则表达式进行字符串的替换、修改和切片。
1540

被折叠的 条评论
为什么被折叠?



