import re

import re

  re模块中的函数:

  1.  re.compile(pattern[,flags]):根据包含正则表达式的字符串创建模式对象。

  2.  re.findall(pattern,string):列出所有匹配项。返回一个列表。

  3.  re.sarch(pattern,string[,flags]):只寻找出第一个匹配项。

  4.  re.match(pattern,string[,flags]):只在字符串的开头处匹配,只匹配第一个匹配项。

  5.  re.split(pattern,string[,maxsplit=0]:用于分割字符串。

  6.  re.sub(pat, repl, string[,count=0]):将字符串中所有pat的匹配项用repl替换。

  7.  re.escape(string):将字符串中所有特殊正则表达式字符进行转义。

  re匹配对象的方法:

通过re模块中的函数,当找到匹配项时,会返回一个MatchObject对象,可以对这些对象应用一些方法。

  1.  group():在正则中一对括号代表一组,组的序号取决于它左侧的括号数量。组0就是整个模式。

      例:‘There (was a (wee)(cooper)) who (lived in Fyfe)'

        包含下面这些组:

        0 There was a wee cooper who lived in Fyfe

        1 was a wee cooper

        2 wee

        3 cooper

        4 lived in Fyfe

      例2:

        >>>m = re.match(r"(..)+", "a1b2c3") 
        >>>m.group(1) 
        'c3' 

        这里只有一个括号,所以是一个group....这个group匹配了3次,一个group的每一次匹配覆盖上一次的匹配结果。

  2.  start([group]):返回给定组匹配项的开始索引

  3.  end([group]):返回给定组匹配项的结束索引加+1

  4.  span([group]):以元组的形式返回开始和结束索引。

  贪婪和非贪婪模式:

  *?,+?,??,{m,n}?    前面的*,+,?等都是贪婪匹配,也就是尽可能匹配,后面加?号使其变成惰性匹配。

  正则表达式中的特殊字符:

  预定义字符集:

 

posted @ 2021-10-20 20:43  youto有病  阅读(300)  评论(0编辑  收藏  举报