文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

re正则表达式库的简介、入门、使用方法

2023-06-02 03:21

关注

  re正则表达式库的简介

  正则表达式在很多语言里都支持,python也不例外,re模块就是正则表达式的应用 正则表达式对字符串的逻辑操作,主要是对字符串的一种过滤,用“元字符” 与“普通字符”组成一个字符串规则对已知的字符串或文本过滤出自己想要的字符串。

  1、正则表达式元字符

  \

  转义字符,将后边紧跟着的字符变成特殊字符,或将后边的特殊字符变成普通字符

  如:在正则表达式中,"\n"换行符,"\\"则代表一个普通字符"\"

  ^  匹配第一行行首,匹配多行需要传参 flags=re.MULTILINE

  $  匹配最后一行行尾,匹配多行需要传参 flags=re.MULTILINE

  .  除"\r""\n"外,匹配任意的单个字符,要使"."匹配换行符,flags=re.DOTALL

  |  或,如 "aaa|bbb|ccc",表示"aaa","bbb","ccc"三选一

  ?  匹配前边的子表达式0次或1次,等价于{0,1}

  +  匹配前边的子表达式1次或多次,等价于{1,}

  *  匹配前边的子表达式0次或多次,,等价于{0,}

  {}  {n}匹配前边的子表达式n次,{n,}匹配前边的子表达式至少n次 即:>= n,{n,m}匹配前边的子表达式n~m次,即:n<= 表达式 <=m

  ()  分组,从1开始,从左至右数"("为第几组,下标0为全部分组

  []

  字符集匹配[]中的人一个字符,之匹配一次,如[abc]:表示"a","b","c"三选一。也可以给定范围(必须是连续的才行),如[a-z]:表示a到z任意一个字符。

  还可以取反,如[^abc]:除"a","b","c"外的任意字符。注:[]中只有"^","-","\"三个特殊字符,其中"\"代表转义字符,其它的都代表原本普通的字符,如:[.]只是一个普通的点字符

  注:要使用元字符本身的普通字符,请使用转义字符转义一下,如 :"\(" 在正则表达式中代表普通给"("字符,其它的雷同

  re正则表达式库的入门

  1、re.match函数

  re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。

  语法:re.match(pattern, string, flags=0)

  参数说明:

  pattern 匹配的正则表达式

  string 要匹配的字符串。

  flags 标志位,用于控制正则表达式匹配的方式,如:是否区分大小写,多行匹配等等。

  2、re.search方法

  re.search 扫描整个字符串并返回第一个成功的匹配。

  语法:re.search(pattern, string, flags=0)

  参数说明:

  pattern 匹配的正则表达式

  string 要匹配的字符串。

  flags 标志位,用于控制正则表达式匹配的方式,如:是否区分大小写,多行匹配等等。

  3、检索和替换

  Python 的 re 模块提供了re.sub用于替换字符串中的匹配项。

  语法:re.sub(pattern, repl, string, count=0, flags=0)

  参数:无锡人流手术多少钱 http://www.chnk120.com/

  pattern : 正则中的模式字符串。

  repl : 替换的字符串,也可为一个函数。

  string : 要被查找替换的原始字符串。

  count : 模式匹配后替换的最大次数,默认 0 表示替换所有的匹配。

  4、re.compile 函数

  compile 函数用于编译正则表达式,生成一个正则表达式( Pattern )对象,供 match() 和 search() 这两个函数使用。

  语法:re.compile(pattern[, flags])

  参数:

  pattern : 一个字符串形式的正则表达式

  flags : 可选,表示匹配模式,比如忽略大小写,多行模式等,具体参数为:

  re.I 忽略大小写

  re.L 表示特殊字符集 \w, \W, \b, \B, \s, \S 依赖于当前环境

  re.M 多行模式

  re.S 即为 . 并且包括换行符在内的任意字符(. 不包括换行符)

  re.U 表示特殊字符集 \w, \W, \b, \B, \d, \D, \s, \S 依赖于 Unicode 字符属性数据库

  re.X 为了增加可读性,忽略空格和 # 后面的注释

  re正则表达式库的使用方法

  1、去掉字符串中的所有括号及括号内容

  #去掉字符串中的所有括号及括号内容

  import re

  str="今天(1)天气{1}非常好啊,[1]是的。"

  str_sub = re.sub(u"\\(.*?\\)|\\{.*?}|\\[.*?]", "", str)

  print(str_sub)

  '今天天气非常好啊,是的。'

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯