栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

正则表达式详解

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

正则表达式详解

一、re模块
1、作用 根据规则去匹配字符串
2、表达式 匹配字符串的规则
3、常用方法
findall():匹配所有的字符串 把匹配结果作为一个列表返回 掌握
match():匹配字符串的开始位置 如果开始位置没有就返回None
search():在字符串中搜索 返回搜索到的第一个
finditer():匹配所有字符串 返回迭代器

二、正则匹配的分类
1、匹配单个字符 每次只匹配一个字符
元字符
.:  匹配任意字符 除n以外

[] 匹配中括号中任意一个字符
/d

#1、.: 匹配任意字符 除n以外
res h.
s hello python
result re.findall(res,s)
print(result)

#2、[] 匹配中括号中任意一个字符
res [h,n]
s hello python
result re.findall(res,s)
print(result)

 

#3、d:匹配数字

res d
s hello99 python1223
result re.findall(res,s)
print(result)

 

#4、D:匹配非数字 空格也占一个字符
res D
s hello99 python1223
result re.findall(res,s)
print(result)

 

#5、s 小写 匹配空白 tab键  空格
res s
s hello99 python1223
result re.findall(res,s)
print(result)

 

#6、S 大写 匹配非空白
res S
s hello9 python3
result re.findall(res,s)
print(result)

 

#7、w(小写 匹配非特殊字符 字符、数字、汉字、_ 
res w 
s hello9_ python3 
result re.findall(res,s)
print(result)

 

#8、W(大写 匹配特殊字符 %# -)
res W
s hello9_ python3-
result re.findall(res,s)
print(result)

 

2、多字符匹配
元字符
* 匹配前一个字符出现0次 或者无限次【贪婪模式】

#1、* 匹配前一个字符出现0次 或者无限次【贪婪模式】
res h*
s hello9_ python3-
result re.findall(res,s)
print(result)

 

#2、 匹配前一个字符出现1次或无限次【贪婪模式 1--无限次】

res h
s hhello9_ python3-
result re.findall(res,s)
print(result)

 

#3、?:匹配前一个字符出现0次或者1次【非贪婪模式】
res https?
s httpello9_ python3-
result re.findall(res,s)
print(result)

 

res https?
s httpsello9_ python3-
result re.findall(res,s)
print(result)

 

#4、{} 匹配前一个字符连续出现n次
res https{2}
s httpsello9_ python3-
result re.findall(res,s)
print(result)

 

res https{2}
s httpsssello9_ python3-
result re.findall(res,s)
print(result)

 

#5、{n,m}:匹配前一个字符连续出现n与m区间的次数。

res https{1,1}
s httpsssello9_ python3-
result re.findall(res,s)
print(result)

 

res https{1,3}
s httpsssello9_ python3-
result re.findall(res,s)
print(result)

 

# $:匹配字符串结束位置
res hh$
s hello python3-
result re.findall(res,s)
print(result)

 

res $
s hello python3-
result re.findall(res,s)
print(result)

 

# 5、分组匹配
# ():只匹配括号里面的
res #mobile_phone#
s { moblie_phone : #mobile_phone# , pwd : A123456 }
result re.findall(res,s)
print(result)

 

res #(mobile_phone)#
s { moblie_phone : #mobile_phone# , pwd : A123456 }
result re.findall(res,s)
print(result)

# ():只匹配括号里面的
# .: 匹配任意字符 除n以外
# w(小写 匹配非特殊字符 字符、数字、汉字、_
# 匹配前一个字符出现1次或无限次【贪婪模式 1--无限次】
# ?:匹配前一个字符出现0次或者1次【非贪婪模式】
res #(w. ?)#

s { moblie_phone : #mobile_phone# , pwd : A123456 }
result re.findall(res,s)
print(result) 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/268293.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号