#!/usr/bin/python

# -*- coding: utf-8 -*-

import re

re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。

函数语法:

re.match(pattern, string, flags=0)


-------

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

a='23478178175' b=re.search('1',a) print b.group() #group 返回内容 1 print b.span() #span返回位置 (5, 6)


-------

re.split 扫描整个字符串按条件分割

p=re.compile(r'\d+') #\d匹配所有数字,连续的算一个

m=p.split('one1two2three3four')

#上面两行和下面功能一样

x=re.split(r'\d+','one1two2three3four')

-------

re.findall #以列表形式返回所有能匹配的子串

y=re.findall(r'\d+','one1two2three3four')

#\D 表示非数字

-------

re.sub 函数已正则表达式为基础的替换工作

i=re.sub('[abc]','o','Markbxxctt') #pattern, replaced ,string 意即把Mark中含有的a或者b或者c都替换为o

print i

Morkoxxott



官方文档:

https://docs.python.org/2/search.html?q=re&check_keywords=yes&area=default