首页 > 其他 > 详细

正则表达式

时间:2017-06-19 00:01:23      阅读:266      评论:0      收藏:0      [点我收藏+]

     字符串是我们编程时经常用的一种数据类型,对于简单的字符串查找,使用字符串的内置方法就可以,对于比较复杂的符串或者内容经常变化的字符串,就要用到正则表达式了。

    在Python中要用正则表达式,需要导入re模块,re模块是内置模块,import导入就可使用。

    1.匹配字符串的几个方法:

     1>match方法

     match方法接收三个参数,第一个是匹配的规则,也就是正则表达式,第二个是要查找的字符串,第三个参数不是必填的,用户控制正则表达式的控制方式,根据正则表达式的匹配模式而定。

    从字符串中的第一个单词中匹配字符串,如果匹配到,返回一个对象,如果匹配不到,返回none

   技术分享   

  #<_sre.SRE_Match object; span=(0, 4), match=‘best‘>

     2>search方法

    search方法的参数与match一样,区别是,match是从字符串里的第一个单词找,而search方法则是从整个内容找,如果匹配到,返回第一个,如果匹配不到,返回none。

    字符串前面加r代表原字符串

    技术分享

#运行结果为is

    3>findall方法

     findall方法的参数上面的match、search一样,和他们不一样的是,findall会返回所有一个list,把所有匹配到的字符串,放到这个list里面,如果找不到的话,就返回一个空的list

   技术分享

   运行结果是[‘best’]

    4>sub方法

    sub方法和字符串的replace方法一样,是用来替换字符串的,把匹配到的值替换成一个新的字符串,接收3个参数,第一个是正则表达式,第二个是要替换成什么,第三个就是要      查找的字符串,会返回一个新的字符串,如果匹配不到的话,返回原来的字符串

   技术分享

   运行结果:

   技术分享

     5>split

      split 方法和字符串的split方法一样,是用来分割字符的,按照匹配到的字符串进行分割,返回的是一个list,如果匹配不到的话,那返回的list中还是原来的字符串

      技术分享

     运行结果为一个list:

    技术分享

 

     2、数量词  

          1>    ‘*‘ 匹配*号前的字符0次或多次,只是*前面的一个字符
           技术分享

         运行结果

         技术分享

          2>    ‘+‘     匹配前一个字符1次或多次,只是+前面的一个字符

          3>      ‘?‘     匹配前一个字符1次或0次,只是?前面的一个字符

          4>    ‘{2}‘   匹配前一个字符m次

          5>    ‘{n,m}‘ 匹配前一个字符n到m次

 

正则表达式

原文:http://www.cnblogs.com/wangguoyuan-09/p/7045881.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!