Python的正则表达式
发布日期:2021-05-07 16:37:33 浏览次数:25 分类:技术文章

本文共 1403 字,大约阅读时间需要 4 分钟。

目录

 


# 正则表达式

 

import restr ="weidongliang"

#普通字符作为原子

pat ="wei"rsr=re.search(pat,str)print(rsr)

#非打印字符作为原子

#\n:换行符   \t:制表符

str ='''baidusdfsbaidu'''pat="\n"rest=re.search(pat,str)print(rest)

# 通用字符作为原子(作用非常大)
 

  1. \w:匹配任何字母,数字,下划线
  2. \W:除匹配任何字母,数字,下划线
  3. \d:十进制数字
  4. \D:除十进制数字
  5. \s:空白字符
  6. \S:除空白字符

 

string="taobao4 59454baidu"pat="\w\d\s\d\d"print(re.search(pat,string))

# 原子表(几个原子组成一个)

string="taobao4 59454baidu"pat="tao[zub]ao"pat="tao[^zuq]ao"print(re.search(pat,string))

# 元字符
 

  1. . :出换行外任意一个字符
  2. ^ :开始位置
  3. $ :结束位置
  4. * :0\1\多次
  5. ?:0\1次
  6. + :1\多次
  7. {n} :恰好n次
  8. {n,} :至少n次
  9. {n,m}:至少n,最多m
  10. |  :模式选择符
  11. () :模式单元
wei="taoyun14524baidu"pat="tao.un"pat="bai..$"ce=re.search(pat,wei)print(ce)

# 模式修正符
 

  1. I 匹配时忽悠大小写 *
  2. M 多行匹配 *
  3. L 本地化识别匹配
  4. U Unicode
  5. S 让.匹配包括换行符 *
str="Python"pat="pyt"ce=re.search(pat,str,re.I)print(ce)

# 贪婪模式和懒惰模式

# 默认是贪婪模式

str="pythony"pat="p.*y" #贪婪模式,模糊pat2="p.*?y" #懒惰模式,精准ce=re.search(pat,str,re.I)ce2=re.search(pat2,str,re.I)print(ce)print(ce2)

# 正则表达式函数

#1,match 重头开始匹配

str="poyajgsdabskjdbaiush"pat="p.*?y"ce=re.match(pat,str,re.I)print(ce)

#2,search  任何地方都可以匹配

#3,全局匹配函数

str="efdrpoyajgspnyskjdbapyth"pat="p.*?y"

# 全局匹配格式re.compile(正则表达式).findall(数据)

ce=re.compile(pat).findall(str)print(ce)

 

#示例:匹配.com和.cn网址
​​​​​

string="百度"pat="[a-zA-Z]+://[^\s]*[.com|.cn]"ce=re.search(pat,string)print(ce)

#示例:匹配电话号码

string="adsgdiasdiauhdaj012-754745745dasd0773-46853415adasda"pat="\d{4}-\d{7}|\d{3}-\d{8}"ce=re.compile(pat).findall(string)print(ce)

 

上一篇:Python的爬虫利器之urllib
下一篇:Python的异常处理

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2025年03月29日 23时20分05秒