码迷,mamicode.com
首页 > 其他好文 > 详细

正则表达式

时间:2017-06-19 00:35:34      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:search   one   用户   正则表达式   控制   区别   表达   数据类型   http   

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

    在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次

 

正则表达式

标签:search   one   用户   正则表达式   控制   区别   表达   数据类型   http   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!