码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【Python零基础入门篇 · 37】:正则基础


    文章目录

    • 正则基础
        • math方法匹配
        • 匹配单个字符
          • “.”——匹配任意一个字符(除了\n之外)
          • “[]”——匹配[]中列举的字符
          • “\d”——匹配数字
          • “\D”——匹配非数字,即不是数字
          • “\s”——匹配空白,即空格和tab键
          • “\S”——匹配非空白
          • “\w”——匹配单词字符
          • “\W”——匹配非单词字符
        • 匹配多个字符
          • “ * ” ——匹配前一个字符出现0次或无限次
          • “ + ” ——匹配前一个字符出现一次或无限次
          • “ ?” ——匹配前一个字符出现一次或0次,即要么有一次,要么没有
          • “{m}” ——匹配前一个字符出现m次
          • “{m,n}”——匹配前一个字符出现从m次到n次(m
        • 匹配开头结尾
          • “ ^ ” ——匹配字符串开头
          • “ $ ” ——匹配字符串结尾
        • 不匹配
        • 总结
        • 匹配分组
          • “ | ”——匹配左右任意一个表达式(从左到右进行匹配)
          • (ab)——括号中字符作为一个分组
          • \num——引用分组num匹配到的字符串
          • (?P\)分组起别名

    正则基础


    导入模块:import re

    math方法匹配

    res = re.match(正则表达式,要匹配的字符串)

    • re.match()从字符串的开始位置进行匹配,配对成功返回match对象。,没有匹配成功返回None
    • 匹配到数据,使用group方法获取数据
      在这里插入图片描述

    匹配单个字符

    “.”——匹配任意一个字符(除了\n之外)

    在这里插入图片描述

    “[]”——匹配[]中列举的字符

    在这里插入图片描述

    • 下图报错原因:由于没有匹配到元素,之后又调用了group()方法造成的。
      在这里插入图片描述
    “\d”——匹配数字

    0,1,2,3,4,5,6,7,8,9
    在这里插入图片描述

    “\D”——匹配非数字,即不是数字

    在这里插入图片描述

    “\s”——匹配空白,即空格和tab键

    在这里插入图片描述

    “\S”——匹配非空白

    在这里插入图片描述

    “\w”——匹配单词字符

    a-z,A-Z,0-9,_(下划线),汉字
    在这里插入图片描述

    “\W”——匹配非单词字符

    在这里插入图片描述

    匹配多个字符

    “ * ” ——匹配前一个字符出现0次或无限次

    在这里插入图片描述

    “ + ” ——匹配前一个字符出现一次或无限次

    在这里插入图片描述

    “ ?” ——匹配前一个字符出现一次或0次,即要么有一次,要么没有

    在这里插入图片描述

    “{m}” ——匹配前一个字符出现m次

    在这里插入图片描述

    “{m,n}”——匹配前一个字符出现从m次到n次(m

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

    匹配开头结尾

    “ ^ ” ——匹配字符串开头

    ^表示以什么开头,表示对什么取反。

    在这里插入图片描述

    ^在[]外表示由[]中的各个字符开头就匹配成功

    ^[ab] :表示以’a’或’b’开头就匹配成功
    在这里插入图片描述

    “ $ ” ——匹配字符串结尾

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

    不匹配

    ^在[]中表示不匹配

    在这里插入图片描述

    总结

    • ‘abc’:表示字符串开头有abc就匹配成功
    • ‘[abc]’:表示以字符串开头有’a’或’b’或’c’就匹配成功
    • ‘^[abc]’:表示由’a’或’b’或’c’开头就匹配成功
    • ‘[^abc]’:表示匹配除了’a’、‘b’、‘c’之外的字符

    匹配分组

    “ | ”——匹配左右任意一个表达式(从左到右进行匹配)

    在这里插入图片描述

    (ab)——括号中字符作为一个分组

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

    \num——引用分组num匹配到的字符串

    在这里插入图片描述

    (?P)分组起别名

    (?P=name)引用别名为name分组匹配到的字符串
    在这里插入图片描述

  • 相关阅读:
    8.26 Day44---项目部署
    JavaScript 数组的函数 map/forEach/reduce/filter
    初学者如何正确理解google官方建议架构原则(疑问?)
    docker 安装Es(Elasticsearch)
    获取阿里云Docker镜像加速器
    安化知名企业家李亮先生邀您一起游玩云台山
    锂电池UN38.3认证是什么?什么是运输鉴定报告?
    开发工程师必备————【Day18】CSS选择器详细知识介绍
    Python3 File(文件) 方法
    关于python pytorch 与CUDA版本相关问题
  • 原文地址:https://blog.csdn.net/Oh_Python/article/details/126813598
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号