zoukankan      html  css  js  c++  java
  • 学习笔记-Python基础19-结构化文件存储-正则

    # 正则表达式(RegularExpression, re)
    - 是一个计算机科学的概念
    - 用于使用单个字符串来描述,匹配符合某个规则的字符串
    - 常常用来检索、替换某些模式的文本
    # 正则写法
    - .(点号):表示任意一个字符,除了 ,比如查找所有的一个字符
    - []:匹配中括号中列举的任意字符
    - d:任意一个数字
    - D:除了数字都可以
    - s:表示空格,tab键
    - S:除了空白符号
    - w:单词字符,就是a-z,A-Z,0-9,_(下划线)
    - W:除了上面w都可以
    - *:表示前面的内容重复零次或者多次,比如w*,表示字符可有可无
    - +:表示前面的内容至少出现一次
    - ?:前面出现的内容零次或者一次
    - {m, n}:允许前面的内容出现最少m次,最多n次
    - ^:匹配字符串的开始
    - $:匹配字符串的结尾
    - :匹配单词的边界
    - ():对正则表达式内容进行分组,从第一个括号开始,编号逐渐增大
    - A:只匹配字符串开头,例如:Aabcd,匹配结果abcd
    - :仅匹配字符串结尾,例如:abcd,匹配结果abcd
    - :左右任意一个,或关系,一个竖线
    - (?P<name>...):分组,除了原来的编号再制定一个别名
    - (?P=name):引用分组
    举例:
    验证一个数字:^d$
    必须有一个数字,最少一位:^d+$
    只能出现数字,且位数为5-10位:^d{5, 10}$
    注册者输入年龄,要求16岁以上,99岁以下:^[16-99]$
    只能输入英文字符和数字:^[A-Za-z0-9]$,之间没逗号
    验证qq号码:^[0-9]{5,12}

    # RE使用大致步骤
      1、使用compile将表示正则的字符串编译成一个pattern对象
      2、通过pattern对象提供一系列方法对文本进行查找匹配,获得匹配结果,一个Match对象
      - 最后使用Match对象提供的属性和方法获得信息,根据需要进行操作
    # RE常用函数
      - group():获得一个或者多个分组匹配的字符串,当获得整个匹配的字符串时,直接使用group或者group(0)
      - start:获取分组匹配的字符串在整个字符冲中的起始位置,参数默认为0
      - end:获取分组匹配的字符串在整个字符串中的结束位置,参数默认为0
      - span:跨度(start(group),end(group))

    # 查找
      - search(str, [, pos[, endpos]]):在字符串中查找匹配,pos和endpos表示起始位置
      - findall:查找所有
      - finditer:查找,返回一个iter结果,可迭代

    # sub 替换
      - sub(repl,str[, count])

    # 匹配中文
      - 大部分中文内容表示范围是[u4e00-u9fa5],不包括全角标点

    # 贪婪和非贪婪
      - 贪婪:尽可能多的匹配,用*表示贪婪
      - 非贪婪:找到符合条件的第一个即可,用?表示非贪婪
      - 正则默认使用贪婪匹配

  • 相关阅读:
    tensorflow_知识点
    Win10 1803 谷歌内核浏览器出现假死现象的解决方法汇总
    今日笑话
    留存率例子(待优化)
    安装ODOO13
    freepascal获取进程列表
    vba给图片添加logo
    wps中开始支持javascript了
    获取本地ip
    判断素数
  • 原文地址:https://www.cnblogs.com/Cloudloong/p/9909627.html
Copyright © 2011-2022 走看看