正则-re

re正则

简介

正则表达式是计算机科学的一个概念,正则表通常被用来检索、替换那些符合某个模式(规则)的文本。也就是说使用正则表达式可以在字符串中匹配出你需要的字符或者字符串,甚至可以替换你不需要的字符或者字符串。

字符匹配(元字符、普通字符)

正则表达式的元字符
.   ^   $   *   +  ?  {}  []  \   |   ()
  • . 通配符 匹配换行符除外的所有字符
  • ^ 匹配以^xx开头的
  • $ 匹配以xx$结尾的
  • \ 比较强大
    • 后面跟元字符 去除特殊功能
      \. 匹配. 本身
    • 后面跟普通字符 实现特殊功能
      \d 匹配0~9的数字
      \w 匹配任何字母和数字
      \s 匹配任意的空白子符 包括空格 制表符(tab)换行符等
      \b 匹配单词的边界
      \D 匹配除数字以外的字符
      \W 匹配任何非字母和数字
      \S 匹配任意非空白字符
匹配次数
  • * 匹配0~多次 {0,}
    • abc* 表示 ab abc abcc abccc abccc 等
  • + 匹配1~多次 {1,}
    • abc1+ 表示 abc abcc abccc abccc等
  • ? 匹配0~1次 {0,1}
    • abc? 表示 ab abc
      *{N}匹配前一个字符N
    • ab{2}c 表示abbc
      *{N, M} 匹配N次到MN<=M
    • ab{1, 3} 表示 abc abbc abbbc
      注意 *? 、 +? 、 {N, M}? 贪婪和非贪婪
  • [] 字符集 对单个字符给出取值范围
    • [ab] 表示 a、b
    • [a-z] 表示 a到z
  • [^] 非字符集 对单个字符排除取值范围
    • [^ab] 表示非a,非b的单个字符
分组
  • () 分组将要匹配的一类字符集放在一组
  • (\d){5} 匹配5位数
  • a(b)* 匹配一个a或者abbbbb
  • a(b|c) 匹配ab或者ac
正则表达式的普通字符

除了元字符以外的可以当成普通字符

一些方法
  • match() 从首字母开始匹配 成功返回match对象 失败返回None
  • search() 只要找到包含的 就返回match对象 如果有多个 只返回第一个
  • findall() 返回匹配的全部字符 返回形式为列表
  • compile 把正则表达式编译成正则对象
  • sub() 替换 类似于字符串的replace方法
  • group() 返回匹配到的字符串
  • star() 返回匹配的开始位置
  • end() 返回匹配的结束位置
  • span 返回一个元祖表示匹配位置

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

部分知识点持续补充中…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值