正则表达式,re模块

  • 正则表达式,一种独立的规则和语言,主要和字符串打交道
    • 爬虫,从一大段文字中获取符合条件的内容
    • 表单验证,检测一个字符串是否完全符合规则,先通过正则去判断是否符合规则,符合规则再去请求
  • 字符组
    • 匹配所有数字[0-9]
    • 匹配所有小写字母[a-z]
    • 匹配所有大写字母[A-Z]
    • 匹配所有的数字大小写字母[0-9a-zA-Z]
    • 根据ascii码表从小到大顺序匹配,可以一次取多个区间
  • 元字符
    • \d匹配所有的数字,相当于[0-9]
    • \w匹配所有的数字[0-9]大小写字母[a-z,A-Z]下划线_
    • \s匹配所有空白符(空格,回车,tab)
    • \t匹配所有tab
    • \n匹配所有换行符
    • \D匹配所有的非数字
    • \W匹配所有的非字母数字下划线
    • \S匹配所有的非空白符
    • .匹配所有除换行符外任意一个字符
    • ^a匹配一个字符串以a开始
    • a$匹配一个字符串以a结束
    • ^和$组合用必须和字符串完全匹配才可以
    • []字符组匹配中括号里的内容或
    • [^]匹配非括号里所有内容
    • |管道符或,满足条件一个就行,位数长的放前面
    • ^wind123$|^wind$
    • ()分组,一般结合|一起用 类比一下Python的逻辑or
  • 量词
    • {n}匹配n次
    • {n,}匹配n次以上
    • {m,n}匹配最少m次,最多n次
    • 标识出现次数
      • ?匹配0次到1次----非贪婪模式
      • + 1-无穷大
      • * 0-无穷大
    • 贪婪匹配------->尽可能多的匹配,用?阻止贪婪
    • 惰性匹配------->符合条件基础上尽量少的匹配(量词后面的?表示惰性匹配)
  • 只写元字符,一个元字符表示一位字符上的内容
  • 元字符量词结构,量词只约束前面一个元字符
    • (元字符元字符)量词,如ab{3},ab出现3次
  • re模块 配合正则表达式使用python-常用模块 - 断浪狂刀忆年少 - 博客园 (cnblogs.com)
    • re.findall('\w+',s)第一个参数是正则的规则,第二个参数是要匹配的字符串,findall匹配所有匹配项
    • re.search('\d+',s)只匹配从左到右符合条件的第一项,返回的是一个对象,通过.group()方法取值
    • re.match()相当于默认给开头加了^号,返回的是一个对象,通过.group()方法取值、
    • re.split()根据正则切割
    • re.sub()替换
    • re.compile()预编译,正则需要编译,预编译可以节省时间,爬虫使用多
    • re.finditer()节省空间,变成迭代器,通过.group()方法取值、
  • 比较好用的匹配公式 #(.+?)#
  •  
posted @   3notblv  阅读(14)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示