常用模块—re模块

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了常用模块—re模块相关的知识,希望对你有一定的参考价值。

import re
#findall查找所有,从头找到尾,找到的结果取出来
‘‘‘
\w:字母,数字,下划线
\W:非字母,数字,下划线
\s:空白字符 ,等价于\n,\t
\S:非空白字符
\d:数字
\D:非数字
\A:从开头找
\Z:从结尾找
\n:换行符
\t:制表符
‘‘‘
# print(re.findall(‘\W‘,‘alex say hello alex sb 123_ 4%6*6‘))
# print(re.findall(‘\S‘,‘alex say hello alex sb 123_ 4%6*6‘))
# print(re.findall(‘\d\d‘,‘alex say hello alex sb 123_ 4%6*6‘))
# print(re.findall(‘\D‘,‘alex say hello alex sb 123_ 4%6*6‘))
# print(re.findall(‘^a‘,‘alex say hello alex sb 123_ 4%6*6‘))
# print(re.findall(‘6$‘,‘alex say hello alex sb 123_ 4%6*6‘))
# print(re.findall(‘\n‘,‘alex say\n hello alex sb 123_ 4%6*6‘))
# print(re.findall(‘\t‘,‘alex say\t hello alex sb 123_ 4%6*6‘))

‘‘‘
重复匹配
.:任意一个字符,什么都可以
*:左边字符出现0次或无穷次
?:左边字符出现0次或1次
+:左边字符出现1次或无穷次
{}:{n,m}左边的字符出现n到m次

‘‘‘
# print(re.findall(‘a.e‘,‘alex a\ne hello alex sb 123_ 4%6*6‘,re.DOTALL))
# print(re.findall(‘ab?‘,‘ab a abbba abbb‘))
# print(re.findall(‘ab{0,1}‘,‘ab a abbba abbb‘))
# print(re.findall(‘ab*‘,‘ab a abbba abbb‘))
# print(re.findall(‘ab+‘,‘ab a abbba abbb‘))
# print(re.findall(‘ab{3,}‘,‘ab a abbba abbbb abbbbb‘))

‘‘‘
.*:所有字符,贪婪匹配
.*?:非贪婪匹配
‘‘‘
# print(re.findall(‘a.*?b‘,‘axde123.bbbbaabb‘))
# print(re.findall(‘a.*b‘,‘axde123.bbbbaabb‘))

#分组()
# print(re.findall(‘<imag href="(.*)" />‘,
# ‘<h1>hello</h1><a href=""><imag href="http://www.baidu.com/a.jpg" />‘))
#l或者
#print(re.findall(‘compan(?:ies|y)‘,‘too many companies have gone bankrupt,and the next is my company‘))


# re.search(),从头找到尾,但匹配成功一次就结束
#print(re.search(‘alex‘,‘alex say hello alex sb 123_ 4%6*6‘).group())
# re.match(),从头匹配,头部找不到返回NONE
#print(re.match(‘alex‘,‘alex say hello alex sb 123_ 4%6*6‘).group())

以上是关于常用模块—re模块的主要内容,如果未能解决你的问题,请参考以下文章

Python之路-常用模块(re模块)

python正则--re模块常用方法

常用模块--- 正则模块 正则表达式 re 模块

python常用模块:collections模块和re模块(正则表达式详解)

常用模块 re 模块

常用模块-正则re