游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

学Python正则表达式,这一篇就够了

  正则表达式是一个特殊的字符序列,可以帮助您使用模式中保留的专门语法来匹配或查找其他字符串或字符串集。正则表达式在UNIX世界中被广泛使用。
  注:很多开发人员觉得正则表达式比较难以理解,主要原因是缺少使用或不愿意在这上面花时间。
  re模块在Python中提供对Perl类正则表达式的完全支持。如果在编译或使用正则表达式时发生错误,则re模块会引发异常re。error。
  在这篇文章中,将介绍两个重要的功能,用来处理正则表达式。然而,首先是一件小事:有各种各样的字符,这些字符在正则表达式中使用时会有特殊的意义。为了在处理正则表达式时避免混淆,我们将使用:rexpression原始字符串。
  匹配单个字符的基本模式
  编号
  表达式
  描述
  1hra,X,9,
  普通字符完全匹配。
  2hr。
  匹配任何单个字符,除了换行符’‘
  3hrw
  匹配单词字符:字母或数字或下划线〔azAZ09〕。
  4hrW
  匹配任何非字词。
  5hrb
  字词与非字词之间的界限
  6hrs
  匹配单个空格字符:空格,换行符,返回,制表符
  7hrS
  匹配任何非空格字符。
  8hr,,r
  制表符,换行符,退格符
  9hrd
  十进制数〔09〕
  10hr
  匹配字符串的开头
  11hr
  匹配字符串的末尾
  12hr抑制字符的特殊性,也叫转义字符。编译标志
  编译标志可以修改正则表达式的某些方面。标志在re模块中有两个名称:一个很长的名称,如IGNORECASE,和一个简短的单字母形式,如。
  编号
  标志
  含义
  1hrASCII,A
  像w,b,s和d之间的几个转义只匹配ASCII字符与相应的属性。
  2hrDOTALL,S
  匹配任何字符,包括换行符
  3hrIGNORECASE,I
  不区分大小写匹配
  4hrLOCALE,L
  做一个区域感知的匹配
  5hrMULTILINE,M
  多行匹配,影响和
  6hrVERBOSE,X(for‘extended’)
  启用详细的RE,可以更干净,更容易理解
  1。match函数
  此函数尝试将RE模式与可选标志的字符串进行匹配。
  下面是函数的语法:re。match(pattern,string,flags0)12复制代码类型:〔python〕
  这里是参数的描述:
  pattern:这是要匹配的正则表达式。
  string:这是字符串,它将被搜索用于匹配字符串开头的模式。
  flags:可以使用按位OR()指定不同的标志。这些是修饰符,如下表所列。
  re。match函数在成功时返回匹配对象,失败时返回None。使用match(num)或groups()函数匹配对象来获取匹配的表达式。
  编号
  匹配对象
  描述
  1hrgroup(num0)
  此方法返回整个匹配(或特定子组num)
  2hrgroups()
  此方法返回一个元组中的所有匹配子组(如果没有,则返回为None)
  示例!usrbinpython3importrelineCatsaresmarterthandogsmatchObjre。match(r(。)are(。?)。,line,re。Mre。I)ifmatchObj:print(matchObj。group():,matchObj。group())print(matchObj。group(1):,matchObj。group(1))print(matchObj。group(2):,matchObj。group(2))else:print(Nomatch!!)1234567891011121314复制代码类型:〔python〕
  当执行上述代码时,会产生以下结果:matchObj。group():CatsaresmarterthandogsmatchObj。group(1):CatsmatchObj。group(2):smarter123复制代码类型:〔python〕
  2。search函数
  此函数尝试将RE模式与可选标志的字符串进行匹配。
  下面是这个函数的语法:re。match(pattern,string,flags0)123复制代码类型:〔python〕
  这里是参数的描述:
  pattern:这是要匹配的正则表达式。
  string:这是字符串,它将被搜索用于匹配字符串开头的模式。
  flags:可以使用按位OR()指定不同的标志。这些是修饰符,如下表所列。
  re。search函数在成功时返回匹配对象,否则返回None。使用match对象的group(num)或groups()函数来获取匹配的表达式。
  编号
  匹配对象
  描述
  1hrgroup(num0)
  此方法返回整个匹配(或特定子组num)
  2hrgroups()
  此方法返回一个元组中的所有匹配子组(如果没有,则返回为None)
  示例!usrbinpython3importrelineCatsaresmarterthandogs;searchObjre。search(r(。)are(。?)。,line,re。Mre。I)ifsearchObj:print(searchObj。group():,searchObj。group())print(searchObj。group(1):,searchObj。group(1))print(searchObj。group(2):,searchObj。group(2))else:print(Nothingfound!!)1234567891011121314复制代码类型:〔python〕
  当执行上述代码时,会产生以下结果:matchObj。group():CatsaresmarterthandogsmatchObj。group(1):CatsmatchObj。group(2):smarter1234复制代码类型:〔python〕
  3。匹配与搜索
  Python提供基于正则表达式的两种不同的原始操作:match检查仅匹配字符串的开头,而search检查字符串中任何位置的匹配(这是Perl默认情况下的匹配)。
  示例!usrbinpython3importrelineCatsaresmarterthandogs;matchObjre。match(rdogs,line,re。Mre。I)ifmatchObj:print(matchmatchObj。group():,matchObj。group())else:print(Nomatch!!)searchObjre。search(rdogs,line,re。Mre。I)ifsearchObj:print(searchsearchObj。group():,searchObj。group())else:print(Nothingfound!!)123456789101112131415161718复制代码类型:〔python〕
  当执行上述代码时,会产生以下结果:Nomatch!!searchmatchObj。group():dogs12复制代码类型:〔python〕
  4。搜索和替换
  使用正则表达式re模块中的最重要的之一是sub。
  模块re。sub(pattern,repl,string,max0)1复制代码类型:〔python〕
  此方法使用repl替换所有出现在RE模式的字符串,替换所有出现,除非提供max。此方法返回修改的字符串。
  示例!usrbinpython3importrephone2018959559ThisisPhoneNumberDeletePythonstylecommentsnumre。sub(r。39;,,phone)print(PhoneNum:,num)Removeanythingotherthandigitsnumre。sub(rD,,phone)print(PhoneNum:,num)123456789101112复制代码类型:〔python〕
  当执行上述代码时,会产生以下结果:PhoneNum:2018959559PhoneNum:201895955912复制代码类型:〔python〕
  5。正则表达式修饰符:选项标志
  正则表达式文字可能包含一个可选修饰符,用于控制匹配的各个方面。修饰符被指定为可选标志。可以使用异或()提供多个修饰符,如前所示,可以由以下之一表示:
  编号
  修辞符
  描述
  1hrre。I
  执行不区分大小写的匹配。
  2hrre。L根据当前语言环境解释单词。
  这种解释影响字母组(w和W)以及字边界行为(b和B)。
  3hrre。M使匹配一行的结尾(而不仅仅是字符串的结尾),
  并使匹配任何行的开始(而不仅仅是字符串的开头)。
  4hrre。S
  使一个句点(。)匹配任何字符,包括换行符。
  5hrre。U根据Unicode字符集解释字母。
  此标志影响w,W,b,B的行为。
  6hrre。X允许cuter正则表达式语法。它忽略空格(除了一个集合〔〕内部,
  或者用反斜杠转义),并将未转义的作为注释标记。
  6。正则表达模式
  除了控制字符(?。()〔〕{}),所有字符都与其自身匹配。可以通过使用反斜杠将其转换为控制字符。
  7。正则表达式示例
  字符常量
  编号
  示例
  说明
  1hrpython
  匹配python。
  字符类
  编号
  示例
  说明
  1hr〔Pp〕ython
  匹配Python或python
  2hrrub〔ye〕
  匹配ruby或rube
  3hr〔aeiou〕
  匹配任何一个小写元音
  4hr〔09〕
  匹配任何数字;如〔0123456789〕
  5hr〔az〕
  匹配任何小写ASCII字母
  6hr〔AZ〕
  匹配任何大写的ASCII字母
  7hr〔azAZ09〕
  匹配上述任何一个
  8hr〔aeiou〕
  匹配除小写元音之外的任何东西
  9hr〔09〕
  匹配数字以外的任何东西
  特殊字符类
  编号
  示例
  说明
  1hr。
  匹配除换行符以外的任何字符
  2hrd
  匹配数字:〔09〕
  3hrD
  匹配非数字:〔09〕
  4hrs
  匹配空格字符:〔rf〕
  5hrS
  匹配非空格:〔rf〕
  6hrw
  匹配单字字符:〔AZaz09〕
  7hrW
  匹配非单字字符:〔AZaz09〕
  重复匹配
  编号
  示例
  说明
  1hrruby?
  匹配rub或ruby:y是可选的
  2hrruby
  匹配rub加上0个以上的y
  3hrruby
  匹配rub加上1个或更多的y
  4hrd{3}
  完全匹配3位数
  5hrd{3,}
  匹配3位或更多位数字
  6hrd{3,5}
  匹配3,4或5位数
  非贪婪重复
  这匹配最小的重复次数:
  编号
  示例
  说明
  1hr。
  贪婪重复:匹配perl
  2hr。?
  非贪婪重复:在perl中匹配
  用圆括号分组
  编号
  示例
  说明
  1hrDd
  没有分组:重复d
  2hr(Dd)
  分组:重复Dd对
  3hr(〔Pp〕ython(,)?)
  匹配Python,Python,python,python等
  反向引用
  这与以前匹配的组再次匹配:
  编号
  示例
  说明
  1hr(〔Pp〕)ython1ails
  匹配python和pails或Python和Pails
  2hr(〔〕)〔1〕1
  单引号或双引号字符串。1匹配第一个分组匹配。2匹配任何第二个分组匹配等
  备择方案
  pythonperl:匹配python或perl
  rub(yle):匹配ruby或ruble
  Python(!?):Python后跟一个或多个!还是一个?
  锚点
  这需要指定匹配位置。
  编号
  示例
  说明
  1hrPython
  在字符串或内部行的开头匹配Python
  2hrPython
  在字符串或内部行的结尾匹配Python
  3hrAPython
  在字符串的开头匹配Python
  4hrPythonZ
  在字符串的末尾匹配Python
  5hrbPythonb
  在字词的边界匹配Python
  6hrbrubB
  B是非字词边界:在rube和ruby中匹配rub,而不是单独匹配
  7hrPython(?!)
  匹配Python,如果跟着感叹号。
  8hrPython(?!!)
  匹配Python,如果没有感叹号后面。
  带括号的特殊语法
  编号
  示例
  说明
  1hrR(?comment)
  匹配R。其余的都是注释
  2hrR(?i)uby
  匹配uby时不区分大小写
  3hrR(?i:uby)
  同上
  4hrrub(?:y
  le))
  仅组合而不创建1反向引用
  开课吧广场人才学习交流平台开课吧

阿里以退为进,十荟团大裁员后将前往何处?21个城市圈停业止损,阿里还在下一盘大棋。在同程生活、食享会破产,橙心优选大裁员后,社区团购的全行业整合还在继续。上周末,十荟团关停了全国21个城市圈的业务,同时江……华为P40pro质量怎样?去年帮同事买了这款手机,对这款手机还算比较了解,下面聊聊这款机器的优缺点吧,希望能对准备入手的朋友有所帮助。体验好的地方拿到这款手机最惊艳我的地方就是拍照水平非常高……一分钟资讯苹果华为三星realme荣耀,最新消息哈喽,我是毛小毛。关注我,每日带你了解最新数码资讯!一分钟资讯第114期,感谢你的阅读。我国5G手机终端连接数达3。92亿户近日,有关部门公布了今年前7月我国通信业……你们的小米手机更新12。5增强版了吗?就在22号晚上10点的时候我收到了小米给我推送12。5增强版的系统,此次更新修复了许多软件在运行时存在的bug,从更新包可以看出,MIUI12。5增强版从笔记控制中心小米云服务……真的只有少部分人才能在头条创作养家嘛?我只想说,理想很美好,现实很骨感!这种事只能当兼职。消遣娱乐就好。如果真的做到能养家糊口的话,那我恭喜你!因为你是一个有才华,且思想能力出众!一般80人每天的收益也就几毛几分就……疫情如此严重,美国没落了吗?全新角度全新视野经常看到很多媒体都在报道美国没落很严重,同时近期美国疫情新增数据每天多达十万以上,因为我们大部分人没有机会到美国工作、生活,不能全面地了解美国现况,而主流媒体基本都是一个定调:……特斯拉发布司机监控系统车内摄像头终于用得到了?近年来,关于特斯拉的报道接连不断,也出现了一些负面消息。特斯拉作为电动车的头部制造厂商,着力于解决车辆出现的问题。5月28日,智车派从外媒了解到,特斯拉将启用车内摄像头,发布司……新车的甲醛味如何清除暴晒有用吗汽车空间小,密闭好,制造过程中使用各种不同的材料,难免会存在点有害气体,加上汽车经常在高温高湿环境下使用,挥发点有害气体出来也就不奇怪了。那新车里的有害气体怎么办?……都2021年了,怎么还有耳机在堆单元?DC评一圈八铁研音迷迭前言正如题目所言,在接触过之前研音科技四动铁单动圈的混动耳塞之后,我以为研音应该不会继续往上叠加更多单元了,但万没想到在如此小的腔体内,居然又多塞进去四个动铁单元,若非基……中式咸鱼被列入一级致癌物清单,与多种癌症相关,还能吃吗?年关将至,每家每户都会准备很多年货,咸鱼自然是少不了的。这咸鱼不仅味道好,非常下饭,让人一想起就流口水,是很多中国人心目中的美食。不过最新的世卫组织国际癌症研究机构将中国式咸鱼……霆哥解读蓝牙耳机哪个牌子好?蓝牙耳机排行榜重磅出炉蓝牙耳机市场的繁荣吸引了很多品牌加入其中,增加了用户的选购难度,很多朋友并不了解蓝牙耳机哪个牌子好,霆哥做数码评测这方面的工作已经五年了,接触了大量产品,其中就包括蓝牙耳机,为……2020将至,你还在立新年Flag吗2020年近在咫尺,这个伟大的时刻又将再次接受心愿巨浪的拍打,同时,也将收到那些永立不到的Flag。在与2019年挥别的今天,你所立下的那些Flag都完成了吗?又或者说,你开始……
2025年的世界对未来10年的8项预言在2025年,根据摩尔定律,我们将看到变化的速度加快,因为我们更接近一个真正丰富的世界。这里有八个领域,我们将在未来十年看到非凡的转变。1。一个1000美元的人脑在……掌趣科技商誉减值致亏背后游戏行业分化加速,研发价值回归1月26日晚,掌趣科技(300315)发布2021年度业绩预告,预计归属于上市公司股东的净利润亏损在10亿元14亿元之间,上年同期公司盈利3。17亿元。扣非净利亏损9。7亿元1……在人类未出现时,地球上是否还有史前文明?在我们这一代人类文明出现之前应该有远古文明出现过,以现有人类掌握的知识来说,大量的考古发现和各种各样的神话传说都足以证明以前的人类充满着智慧,并没有我们想象中的那样愚昧无知,他……有好看的动漫壁纸推荐吗?话不多说,直接分享40张超好看的唯美动漫壁纸!这一组动漫美少女壁纸超好看、超性感、超漂亮的。我相信每个人都会喜欢的。爱美之心,人皆有之,面对好看的东西,都会超级喜爱的。大家好好……数字经济顶层规划出炉!恒宝股份实现5连板,板块频掀涨停潮21世纪经济报道记者雷晨数字经济迎政策东风。2月8日,中国人民银行、市场监管总局、银保监会、证监会印发《金融标准化十四五发展规划》,提出稳步推进金融科技标准建设。……美参议员质疑特斯拉自动驾驶系统安全性来源:经济参考报王婧据路透社报道,两位美国参议员8日致信电动汽车厂商特斯拉的首席执行官埃隆马斯克,对该公司的自动驾驶系统Autopilot和完全自动驾驶系统(FSD)的安……中国第四大通信运营商要来了,你会选吗?应邀回答本行业问题。中国的第四大运营商将是广电网络,现在广电网络正在申请运营商牌照,而不出意外的话,他将是第四家运营商。广电面临的问题很多。其实现在广电最大的疑问是……折叠屏手机两重天荣耀溢价6000元抢破头,小米腰斩无人问,折其实从现在来看,折叠屏手机市场很不成熟,发展也不健康!为什么荣耀magicV手机会溢价,为什么小米的折叠屏手机却在降价!这个我们后面在谈,先探讨下折叠屏市场发展前景的问题!……腾讯不允许将会员借给别人用,大家怎么看?腾讯不允许将会员借给别人用,多少有点店大欺客的嫌疑。腾讯是一家互联网企业,由马化腾、张志东、许晨晔、陈一丹、曾李青于1998年11月共同创立,是中国最大的互联网综合服务提……苹果杀疯了!春季发布会真香新品最全汇总,网友钱包捂不住了2021年的第一场苹果发布会刚刚结束,苹果这次都发布了啥好东西?来给大家盘点一下:紫色版iPhone12都说科技以换壳为本,这次苹果特别推出了紫色版iPhone12……华为厉害了!天猫十大爆款商品唯一手机品牌深陷缺芯潮,华为2021年以来,可谓过得十分艰难,但似乎并没有影响到它在群众心中的分量,提起国产手机,人们第一时间想到的还是华为,购买手机时,华为也是第一意愿梯队。口说无凭,但……工信部要求统一手机充电接口,苹果将怎样调整?1月11日最新消息显示,国内工信部正式发话!表示将推进相关国家标准制定,促进电子设备充电接口及技术融入统一,提高电子产品回收利用率,推进环保事业发展。这番话的言外之意就是,工信……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网