python-re模块

一、模块介绍

            re模块提供了与 Perl 相似l的正则表达式匹配操作。

二、函数和变量:

         只列出常用函数:       

         re.search(pattern, string, flags=0),在字符串中匹配。返回_sre.SRE_Match对象,如果不能匹配返回None。

         re.match(pattern, string, flags=0):字符串的开头匹配。返回_sre.SRE_Match对象,如果不能匹配返回None。

         re.split(pattern, string, maxsplit=0)通过正则表达式将字符串分割。返回包含分割子串的list对象。

         re.compile(pattern, flags=0):编译正则表达式,返回RegexObject对象,然后可以通过RegexObject对象调用match()和search()方法。

         re.findall(pattern, string, flags=0):找到匹配的所有子串,返回包含所有子串的list对象。这个匹配是从左到右有序地返回。如果无匹配,返回空列表。

         re.sub(pattern, repl, string, count=0, flags=0):找到re 匹配的所有子串,并将其用string替换。可选参数 count 是模式匹配後替换的最大次数。

三、函数作用详解

1、正则表达式必要知识

(1)匹配字符

         .   匹配任意除换行符,也就是“\n”以外的任何字符。
         \  转义符,改变原来符号含义。
        [ ]  中括号用来创建一个或语义字符集,例如,[abc]匹配a,b或者c当中任意一个字符

        ^  把"^"作为首个字符,表示补集来匹配字符,[^5]表示除了5之外所有的字符串。其它地方的"^"只会简单匹配"^"字符本身。在[]外,元字符^表示匹配字符串的开始,如"^ab+"表示以ab开头的字符串

       $匹配字符串的结尾或者字符串结尾的换行之前。"foo"既匹配"foo"又匹配"foobar",而"foo$"仅仅匹配"foo".但是在[]里面代表普通字符,如[akm$]将匹配"a","k","m","$"中的任意一个字符。

      | 表示或的关系

 

(2)预定义字符集

       \d    匹配数字,如:[0-9]
       \D   与上面正好相反,匹配所有非数字字符。
       \s     空白字符,如:空格,\t\r\n\f\v等。
       \S    非空白字符。
       \w    单词字符,如:大写A~Z,小写a~z,数字0~9。
       \W   非上面这些字符。

(3)可选项与重复子模式

      *   匹配前一个字符0次或无限次数。
      +  匹配前一个字符1次或无限次数。
     ?   匹配前一个字符0次或1次。
    {m} 匹配前一个字符m次。
    {m,n} 匹配前一个字符m至n次。

      *?   匹配前一个字符0次或无限次数,但尽可能少重复。
      +?  匹配前一个字符1次或无限次数,但尽可能少重复。
     ? ?  匹配前一个字符0次或1次,但尽可能少重复。
    {m}? 匹配前一个字符m次,但尽可能少重复。
    {m,n} ?匹配前一个字符m至n次,但尽可能少重复。

(4)正常匹配

      任意字符或者字符串,比如'test'匹配的是'test'字符串。

四、DEMO



参考文献

[1]http://www.iplaypython.com/module/re.html

[2]http://www.cnblogs.com/PythonHome/archive/2011/11/19/2255459.html

   

weixin063传染病防控宣传微信小程序系统的设计与实现+springboot后端毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值