【python】正则 在实际开发过程中经常会有查找符合某些复杂规则的字符串的需要比如:邮箱图片地址,手机号码等这时候想匹配或者查找符合某些规则的字符串就可以使用正则表达式了。
什么是正则表达式?
正则表达式是一组由普通字符和元字符组成的特殊文本,它可以用来从文本中找出满足你想要的格式的句子。一个正则表达式是一种从左到右匹配主体字符串的模式,常使用缩写的术语“regex”或“regexp”。
目录
目录
前言
在实际开发过程中经常会有查找符合某些复杂规则的字符串的 需要,比如:邮箱、图片地址,手机号码等,这时候想匹配或者 查找符合某些规则的字符串就可以使用正则表达式了。
在观看文章时可以打开这一个正则测试工具的网站正则表达式在线测试 | 菜鸟工具 (jyshare.com),这样更有利于记忆。
正文
1、正则表达式优缺点
缺点:正则表达式的语法很令人头疼,可读性差
优点:正则表达式通用强,能够适用于很多编程语言
2、元字符
在开头介绍到,正则表达式是由普通字符和元字符构成,在使用正则时普通字符可直接使用,效果类似于查找。但是元字符不同,每一个元字符都有不同的特殊意义,以下是一些元字符的介绍:
元字符 | 描述 |
. | 匹配除换行符以外的任意字符 |
\w | 匹配字母或数字或下划线 |
\s | 匹配任意的空白符,包括换行符、制表符 |
\d | 匹配任意数字 |
\n | 匹配一个换行符 |
\t | 匹配一个制表符 |
^ | 匹配字符串的开始 |
$ | 匹配字符串的结尾 |
\W | 匹配非字母或数字或下划线 |
\D | 匹配非数字 |
\S | 匹配非空白字符 |
a|b | 匹配字符a或者字符b |
() | 匹配括号内的表达式,也表示一个组 |
[...] | 匹配字符组中的字符 |
[^...] | 匹配除了字符组中字符其他所有字符都匹配 |
3、量词
上述的元字符中,每一个元字符一次,只能匹配一个满足其特殊意义的字符,但是在日常编写代码的过程中,我们通常希望,一次能匹配多个字符1(如匹配电话号码,一次需要是匹配是十一个字符),这时为了代码的简洁性,量词也就诞生了。
量词主要用于控制元字符出现的次数,需要注意每一个量词只对其前一个元字符或普通字符生效,一下是量词的介绍:
量词 | 描述 |
* | 重复0次或者更多次 |
+ | 重复1次或更多次 |
? | 重复0次或者1次 |
{n} | 匹配n次 |
{n,} | 重复匹配n次或更多次 |
{n,m} | 重复匹配n到m次 |
4、在python中使用正则表达式
1、导入正则库
正则库是python中的内置库,直接使用inport导入即可
import re2、 常用的正则库函数介绍
在正则库中我们常见的有三个函数分别为:findall、search、match