千家信息网

Python中正则表达式怎么用

发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇文章给大家分享的是有关Python中正则表达式怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。正则表达式的基本使用re.match(r'xxx', 匹配的字符串)
千家信息网最后更新 2025年02月01日Python中正则表达式怎么用

这篇文章给大家分享的是有关Python中正则表达式怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

  1. 正则表达式的基本使用
    re.match(r'xxx', 匹配的字符串) 尝试从字符串的起始位置匹配一个模式匹配成功re.match方法返回一个匹配的对象,否则返回None。可以使用group(num) 或 groups() 匹配对象函数来获取匹配表达式,groups()返回的是一个元组。

  2. 使用正则表达式匹配单个字符
    . 匹配任意1个字符(除了\n) re.S则可以匹配换行
    re.I 表示大小写不敏感
    [a-c1-9 ] 匹配[ ]中列举的字符
    \d 匹配数字,即0-9
    \D 匹配非数字,即不是数字
    \s 匹配空白,即 空格,tab键
    \S 匹配非空白
    \w 匹配单词字符,即a-z、A-Z、0-9、。默认是re.U,即Unicode编码,可以匹配中文,加上re.A即可指定ASCII编码。[a-zA-Z0-9]
    \W 匹配非单词字符

  3. 使用正则表达式匹配多个字符

    • 匹配前一个字符出现0次或者无限次,即可有可无

    • 匹配前一个字符出现1次或者无限次,即至少有1次
      ? 匹配前一个字符出现1次或者0次,即要么有1次,要么没有
      {m} 匹配前一个字符出现m次
      {m,n}匹配前一个字符出现从m到n次
      {m,}匹配前一个字符出现m到无限次

  4. 匹配开头结尾边界的使用
    ^ 匹配字符串开头 [^a]表示的是只要不是a
    $ 匹配字符串结尾

  5. 匹配分组的使用
    | 匹配左右任意一个表达式
    (ab) 将括号中字符作为一个分组
    \num 引用分组num匹配到的字符串 \1 \2
    (?P) 分组起别名
    (?P=name) 引用别名为name分组匹配到的字符串

  6. re高级函数 search、findall、sub等的使用
    re.search 扫描整个字符串并返回第一个成功的匹配。匹配成功re.search方法返回一个匹配的对象,否则返回None。可以使用group(num) 或 groups() 匹配对象函数来获取匹配表达式。
    re.findall
    在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表。
    re.sub用于替换字符串中的匹配项
    re.split 根据匹配进行切割字符串,并返回一个列表

  7. re.match与re.search的区别
    re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;而re.search匹配整个字符串,直到找到一个匹配。

  8. 贪婪和非贪婪的特点以及使用方式
    Python里正则匹配默认是贪婪的(在少数语言里也可能是默认非贪婪),总是尝试匹配尽可能多的字符;非贪婪则相反,总是尝试匹配尽可能少的字符。在"*","?","+","{m,n}"后面加上?,使贪婪变成非贪婪

  9. 字符串前加r的作用
    Python中字符串前面加上 r 表示原生字符串

感谢各位的阅读!关于"Python中正则表达式怎么用"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

字符 字符串 表达式 正则 贪婪 分组 函数 对象 成功 数字 限次 尝试 内容 单词 尽可能 开头 方法 更多 空白 篇文章 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 炉石的服务器很烂吗 网络安全的图标 损坏数据库倒表软件 公务员面试网络安全活动 一个系统分别在两个服务器中部署 医保核心业务网络安全制度 软件开发人员怎么转型 实时电话内容会保持在服务器嘛 广州通信软件开发批发价 做软件开发甲方不给钱 刘国钧 计算机网络技术 机械转去做软件开发 家庭ftp服务器 中学校园网络安全检查 统信服务器操作系统各版本区别 启铭广州网络技术有限公司 软件开发流程改进 京东抢购秒杀软件开发思路 河南工业软件开发哪家便宜 怎么构建java代码到服务器 我的世界失落之地服务器怎么充值 软件开发者平台有哪些 南京安全服务器 网络安全的图片简单 宜兴自动软件开发市场价格 学软件开发网站制作可以吗 软件开发的最低薪资 传奇多久开一次服务器 苹果可以用来做软件开发吗 未转变者多人服务器解说
0