首页 > 代码库 > 正则表达式

正则表达式

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

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

 

正则表达式