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基础学习 -- 正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

再次爆肝熬夜整理Python编程工具面试题库学习资料总集,结尾自取免费分享

python基础-正则表达式

Python基础 - 正则表达式

Shell 学习:正则表达式

Shell 学习:正则表达式

Shell 学习:正则表达式