Python学习第七天~正则表达式

概念:

Regular Expression 

一种文本模式,描述在搜索文本时要匹配的一个或者多个字符串

 

典型场景:

数据验证、文本扫描、文本提取、文本替换、文本分割

 

语法

字面值: 

  1. 普通字符
  2. 转义字符  \    ^  $  |  .   * + - () [] {}等

元字符

匹配

单字,预定义元字符

  •  .除\n外的所有字符
  • \d 数字,等同于[0-9]
  • \D 非数字,等同于[^0-9]
  • \s 空白字符, \t \n \r \f \v
  • \S 非空白字符,[^\t \n \r \f \v]

量词(字符,元字符,字符集)

如何重复

  • ? 0次或1次
  • * 0或多次
  • + 1或多次

特定

  • {} :{3,5}:出现的次数在3-5之间
  • {n},只能匹配出现n次,特定次数
  • {n,}:匹配至少出现n次
  • {,m}:最多出现m次, 有上限和下限的匹配

贪婪与非贪婪

贪婪模式(默认的):尽量匹配最大的范围结果


非贪婪模式:尽量匹配最小的结果,方法:就是在量词后面追加一个? 问号

边界匹配

  • ^ :行首
  • $ :行尾
  • \b:单词边界
  • \B:非单词边界
  • \A:输入开头
  • \Z:输入结尾 
  • 注:或因上下文差异有不同表现

Python中的正则

模块import re

RegexObject(正则对象)

  •  .findall : 查找所有非重叠匹配项   返回list 
  •  .match(string[,pos[,endpos]])  :进一步完善匹配的数据的细节。仅从起始位置开始匹配。返回的是MathObject
  •  .search(string[,pos[,endpos]]) :他是从任意位置就行搜索 ,返回的是MathObiect
  •  .finditer() : 查询所有的匹配项,但是返回的是包括MatchObject元素的迭代器。当for循环遍历的时候,就会出现详细的信息
     

MatchObject匹配对象

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值