Python基础学习 -- 正则表达式
Posted web安全工具库
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python基础学习 -- 正则表达式相关的知识,希望对你有一定的参考价值。
一、正则表达常用符号
1、“.”:除换行以外的所有字符
2、“[]”:匹配中括号任意个字符
3、“\\d”:匹配数字
4、“*”:0次或多次
5、“+”:至少1次
6、“?”:0次或1次
7、“m”:固定m次
8、“m,”:至少m次
9、“m,n”:m到n次
10、“$”:以什么结尾
11、“^”:以什么开头
12、“()”:不匹配前后指定的内容
二、正则应用
findall返回的是一个列表
\\d匹配到任意数字就返回
import re
str='asdf23fggerg3435mmk3kmo5324'
a=re.findall('\\d',str)
print(a)
运行结果:
['2', '3', '3', '4', '3', '5', '3', '5', '3', '2', '4']
\\d+匹配到不是数字就返回
import re
str='asdf23fggerg3435mmk3kmo5324'
a=re.findall('\\d+',str)
print(a)
运行结果:
['23', '3435', '3', '5324']
\\d*匹配不到返回空,连续匹配到数字
import re
str='asdf23fggerg3435mmk3kmo5324'
a=re.findall('\\d*',str)
print(a)
运行结果:
['', '', '', '', '23', '', '', '', '', '', '', '3435', '', '', '', '3', '', '', '', '5324', '']
\\d?匹配不到返回空,只匹配一个数字
import re
str='asdf23fggerg3435mmk3kmo5324'
a=re.findall('\\d?',str)
print(a)
运行结果:
['', '', '', '', '2', '3', '', '', '', '', '', '', '3', '4', '3', '5', '', '', '', '3', '', '', '', '5', '3', '2', '4', '']
匹配字母g和字母m之间
(.*)和(.*?)的区别就是,带“?”的匹配到一次就结束,不带“?”匹配不到为止才返回
import re
str='asdf23fggerg3435mmk3kmo5324'
a=re.findall('g(.*)m',str)
print(a)
运行结果:
['gerg3435mmk3k']
运行结果:
['gerg3435']
匹配3位或者4位的数值
import re
str='asdf23fgg123erg3435mmk3km987o5324'
a=re.findall('\\d3,4',str)
print(a)
运行结果:
['123', '3435', '987', '5324']
只匹配列表里面的数据
import re
str='asdf23fgg123erg3435mmk3km987o5324'
a=re.findall('[g,1,3]',str)
print(a)
以上是关于Python基础学习 -- 正则表达式的主要内容,如果未能解决你的问题,请参考以下文章