day18

正则表达式

  1. re模块
  • fullmatch(正则表达式,字符串)------判断字符串是否满足正则表达式描述的规则(完全匹配)
  • python要加入转译字符要加入r防止转译 js加/正则表达式/防止转译 oc加"正则表达式"防止转译
  1. 正则表达式的语法内容

    • 匹配类符号 约束字符串中位置上字符是什么

      普通字符 大多数的字符是普通字符(表示符号本身的字符)

      . 匹配任意一个字符

      \d 匹配任意一个数字字符

      \s 匹配任意一个空白字符(空格 \t \n)

      \D 匹配非数字字符

      \S 匹配任意一个非空白字符

      [字符集] 匹配字符集中任意一个字符 [1-9] 匹配1到9

      匹配任意一个中文[\u4e00-\u9fa5]

      [^字符集] 匹配不在字符集中的任意字符

    • 控制次数的符号

      匹配类符号+控制符号的次数

      * 其前面的字符出现0次或多次

      + 其前面的字符至少出现一次

      ? 其前面的字符有或者没有

      {N} N次

      {M,N} M-N次

      {M,} 至少M次

      {,N} 最多N次

    • 贪婪模式和非贪婪模式(search findall find)

      贪婪模式:多种匹配成功则以最大的匹配次数进行匹配

      默认的贪婪模式:* + {M,N} {M,} {,N} 在后面加一个?变成非贪婪模式

      findall() 找全部返回list 用()括起来时只会返回()里面的

    • 分组()

      重复匹配结果 在正则表达式中一部分用()表示一个分组,然后整体控制次数 \N表示重复前面第N个分组

      将正则表达式的一部分括起来表示一个整体

    • 分支

      正则表达式1|正则表达式2|正则表达式3

    • 检测类符号

      检测符号所在的位置是否符合条件

      \b 检测是否为单词边界(凡是将俩个单词区分开的对象)不影响字符串长度

      ^ 检测字符串开头

      $ 检测字符串结尾

    • 转译符号

      在正则表达式中本身具备特殊功能或者特殊意义的符号前加\ 让其功能消失,变成普通符号

      [] 也可以让独立存在的字符表示其自身的意义

    • re模块

      import re
      re.fullmatch(正则表达式,字符串)
      re.match()   匹配字符串开头
      re.seach(正则表达式,字符串)   在字符串中查找第一个符合正则表达式的子串
      re.findall(正则表达式,字符串)  在字符串中查找所有的满足正则表达式的子串返回列表
      re.finditer(正则表达式,字符串)  在字符串中查找所有的满足正则表达式的子串返回一个迭代器,迭代器中的元素时匹配对象
      re.sub(正则表达式,字符串1,字符串2)   将字符串2中所有满足正则表达式的替换成字符串1
      re.split(正则表达式,字符串)   将字符串中所有满足正则表达式的子串进行切割
      
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值