2020.2.20 正则

一、正则表达式概述:
正则表达式是一种文本模式,用来在搜索时匹配一个或多个字符串。其功能包含数据验证、文本提取、文本扫描、文本替换、文本分割。正则表达式由字符串构成,其中有普通的字面值以及特殊含义的元字符。为表达字面值原意,字面值标点符号前面需添加‘/’进行转义。
使用方法:
要想使用正则表达式首先要导入re模块 re模块提供了正则表达式的处理能力
(1)单字元字符匹配:
要想使用正则匹配文本中指定的信息,需要输入指定的字符
.:除\n以外所有字符、\d:匹配一个数字、\D:匹配所有的非数字、\s:空白字符、\S:非空白字符
\w:所有字母数字、\W:非字母数字
(2)批量备选匹配:
批量备选等同于逻辑上’或’的关系 在匹配时进行二选一或三选一 写法:yes|no
(3)量词匹配:
在代码中用来描述某个字符重复出现的次数
?:0或1次、*:0或1次、+:1或多次、{n,m}:指定范围次数、{n}:n次、{n,}:至少n次、{,m}:最多m次
(4)贪婪与非贪婪:
贪婪模式意为在文本中最大限度匹配相符信息,非贪婪则反之,python中默认为贪婪模式
在量词后面加上’?‘使贪婪模式变成非贪婪模式
(5)边界匹配:
^:行首、$:行尾、\b:单词边界、\B:非单词边界、\A:输入开头、\Z:输入结尾
二、RegexObject正则对象:
(1)findall:找到所有的内容并返回对象到列表
#yhn=‘1q2w3e4r5t’
#pattern=re.compile(’\d+’)
#pattern.findall(yhn)
#Out[15]: [‘1’, ‘2’, ‘3’, ‘4’, ‘5’]
(2)finditer:返回所有匹配对象
#yhn=‘1q2w3e4r5t’
#qw=re.compile(r’\d+’)
#it=qw.finditer(yhn)
#for w in it:
#print(w)
#
#
#
#
#
(3)match:
pattern=re.compile(r’1234’)
pattern=re.compile(r’<1234>’)
wsx=’<1234><5678><9900>’
pattern.match(wsx)
’>
三、MatchObject匹配对象
它的主要功能是表现被匹配的模式

Group编组:
从匹配模式中提取信息 在正则表达式中创建一个子正则表达式以应用量词
ton=‘q123456w’
pattern=re.compile(r’(\d+).*?(\d+)’)
t=pattern.search(ton)
t

.groups():将匹配到的内容放入并返回一个元组
.start()返回特定分组的起始索引
.end()返回特定分组的终止索引
.span()返回特定分组起止索引元组
.groupdict()以字典表形式返回分组及结果

#re.search(r’abcd+e’,‘abcde’)
#
sys模块应用:

你可能感兴趣的:(2020.2.20 正则)