1. 1 text = 'The Attila the hun show'
    2 m = re.match('.',text)#任意单个字符
    3 m.group()
    4 'T'
    5 
    6 m = re.match('.*',text)#任意个字符
    7 m.group()
    8 'The Attila the hun show'

     

  2. 匹配单个字符
    字符 描述
    . 匹配任意字符(除了\n)
    [] 匹配[]中列举的字符
    \d 匹配数字,即0-9
    \D 匹配非数字
    \s 匹配空格
    \S 匹配非空格
    \w 匹配字母
    \W 匹配非字母
  3. 匹配多个字符
    字符 描述
    * 匹配前一个字符出现0次或者无限次,即可有可无
    + 匹配前一个字符出现1次或者无限次,即只有有1次
    匹配前一个字符出现1次或者0次,即要么有1次,要么没有
    {} 匹配前一个字符出现m次
    {m,n} 匹配前一个字符出现从m到n次
  4. 匹配开头和结尾
    字符 描述
    ^ 开头
    $ 结尾
  5. 匹配分组
    字符 描述
    | 匹配左右任意一个表达式
    (ab) 将括号中字符作为一个分组
    \<num>
    引用分组num匹配到的字符串
    (?P<name>) 分组起别名
    (?P=name) 引用别名为name分组匹配到的字符串
  6. search

    扫描整个字符串并返回第一个成功的匹配。

    1 ret = re.search(r"\d+",'本人高2米4')
    2 ret.group()
    3 '2'

     

  7. findall

    扫描整个字符串并返回所有成功的匹配。

    1 ret = re.findall(r'\d+',’本人高2米4‘)
    2 print ret
    3 ['2','4']
  8. split
    根据匹配进行切割字符串,并返回一个列表。

    ret = re.split(r" |:",'info:xiaoming 33 shanxi')
    ret
    ['info', 'xiaoming', '33', 'shanxi']

     

  9. sub
    将匹配到的数据进行替换。

  10. 1 ret = re.sub(r"\d+",'3','本人高2米4')
    2 print ret
    3 本人高3米3