正则表达式概述
正则表达式,又称正规表示式、正规表示法、正规表达式、规则表达式、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些匹配某个模式的文本。
Regular Expression的“Regular”一般被译为“正则”、“正规”、“常规”。此处的“Regular”即是“规则”、“规律”的意思,Regular Expression即“描述某种规则的表达式”之意。
re模块
在Python中需要通过正则表达式对字符串进行匹配的时候,可以使用一个模块,名字为re
# 导入re模块
import re
# 使用match方法进行匹配操作
result = re.match(正则表达式,要匹配的字符串)
# 如果上一步匹配到数据的话,可以使用group方法来提取数据
result.group()
#re.match() 能够匹配出以xxx开头的字符串
表示字符
字符 功能
. 匹配任意1个字符(除了\n)
[ ] 匹配[ ]中列举的字符
\d 匹配数字,即0-9
\D 匹配非数字,即不是数字
\s 匹配空白,即 空格,tab键
\S 匹配非空白
\w 匹配单词字符,即a-z、A-Z、0-9、_
\W 匹配非单词字符
——————————————————————————————
如:
import re
a=re.match(‘\d’,’5dsafsadfa’)
print(a.group())
输出:5
r的使用
Python中字符串前面加上 r 表示原生字符串。
不用r的时候:
import re
qw = “c:\a\b\c”
ret = re.match(“c:\\a”,qw).group()
print(ret)——->c:\a
用r的时候:
import re
qw = “c:\a\b\c”
ret = re.match(r”c:\a”,qw).group()
print(ret)
——->c:\a
输出结果相同
表示数量
匹配多个字符的相关格式
字符 功能
* 匹配前一个字符出现0次或者无限次,即可有可无
+ 匹配前一个字符出现1次或者无限次,即至少有1次
? 匹配前一个字符出现1次或者0次,即要么有1次,要么没有
{m} 匹配前一个字符出现m次
{m,} 匹配前一个字符至少出现m次
{m,n} 匹配前一个字符出现从m到n次
——————————————————————————————————
示例:+
import re
num= re.match(“[a-zA-Z_]+[\w_]*”,”_name”).group()
print(num)
输出结果:_name
示例:?
citing = re.match(“[1-9]?[0-9]”,”33”).group()
print(citing )
输出:33
示例:{m}
citing = re.match(“\w{4,20}@163.com”,”123456qwe@163.com”).group()
print(citing )
输出:123456qwe@163.com