Python正则表达式元字符,re模块常用函数简介


一、正则表达式元字符
.    匹配除换行符以外的任意字符
[0-9a-zA-Z_]   字符集合,匹配包含的任一个字符,下划线
[^abc]     匹配除abc外的所有字符
\d   匹配所有的数字,相当于[0-9]
\D   匹配非数字字符,相当于[^0-9]
\w   匹配数字字母下划线,相当于[0-9a-zA-Z_]
\W   匹配非数字字母下划线,相当于[^0-9a-zA-Z_]
\s   匹配任意空白符(空格,换行,回车,换页制表符)相当于[ \f\n\r\t]
\S   匹配任意非空白符,相当于[^ \f\n\r\t]
^    行首匹配
$    行尾匹配
\A   匹配字符串开始,和^区别:\A只匹配行首,在re.M下也不匹配他行行首
\Z   匹配字符串结束,和$区别:\Z只匹配结束,在re.M下也不匹配他行结束
\b   匹配单词的边界,空格之间
\B   匹配非单词的边界,空格之间
xyz--->假设的普通字符
(xyz)    匹配小括号内的xyz(作为一个整体去匹配)
x?       匹配0个或者1个x(非贪婪匹配)
x*       匹配0个或者任意多个x(贪婪匹配)(.*表示匹配0个或者多个字符,换行符除外)
x+       匹配至少一个x
x{n}     匹配确定的n个x
x{n,}    匹配至少n个x
x{n,m}   匹配至少n个,最多m个x
x|y      |表示或,匹配x或y
*?  +?  (xyz)?   最小匹配,解决贪婪匹配
?:x      类似(xyz),但不表示一个组


二、Re模块简介

re.match函数
原型:match(pattern, string, flags=0)
参数:
patter:匹配的正则表达式
string:要匹配的字符串
flags:标志位,控制正则表达式的匹配方式
功能:起始位置匹配一个模式,其他位置匹配返回None
eg:# www.baidu.com
re.match('www', 'www.baidu.com')
re.match('www', 'wWw.baidu.com', flags=re.I)
# 扫描整个字符串,返回从起始位置成功的匹配


re.serch函数

原型:serch(pattern, string, flags=0)
参数:
patter:匹配的正则表达式
string:要匹配的字符串
flags:标志位,控制正则表达式的匹配方式
功能:扫描整个字符串,并返回第一个成功的匹配
eg:re.search('ren', 'good a man ren  is nice ren')


re.findall函数

原型:findall(pattern, string, flags=0)
参数:
patter:匹配的正则表达式
string:要匹配的字符串
flags:标志位,控制正则表达式的匹配方式
功能:扫描整个字符串,并返回结果列表
eg:re.findall('ren', 'good a man ren  is nice ren')


三、正则表达式修饰符 - 可选标志

re.L  本地化识别
re.I  忽略大小写
re.M  多行匹配,影响^和$
se.S  是.匹配包括换行符在内的所有字符
se.U  根据Unicode字符集解析字符,影响\w  \W  \b   \B
se.X  使我们以更灵活的格式理解正则表达式

猜你喜欢

转载自blog.csdn.net/qq_15260769/article/details/80286041
今日推荐