微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

正则表达式

下图列出了Python支持的正则表达式元字符和语法:

正则表达式

1 -1

Python通过re模块提供对正则表达式的支持。使用re的一般步骤是先将正则表达式的字符串形式编译为Pattern实例,然后使用Pattern实例处理文本并获得匹配结果(一个Match实例),最后使用Match实例获得信息,进行其他的操作。

# encoding: UTF-8
import re

# 将正则表达式编译成Pattern对象
pattern = re.compile(r‘hello‘)

# 使用Pattern匹配文本,获得匹配结果,无法匹配时将返回None
match = pattern.match(‘Hello World!‘)

if match:
    # 使用Match获得分组信息
    print match.group()

### 输出 ###
# hello

2.2. Match

Match对象是一次匹配的结果,包含了很多关于此次匹配的信息,可以使用Match提供的可读属性方法获取这些信息。

属性

string: 匹配时使用的文本。
re: 匹配时使用的Pattern对象。
pos: 文本中正则表达式开始搜索的索引。值与Pattern.match()和Pattern.seach()方法的同名参数相同。
endpos: 文本中正则表达式结束搜索的索引。值与Pattern.match()和Pattern.seach()方法的同名参数相同。
lastindex: 最后一个被捕获的分组在文本中的索引。如果没有被捕获的分组,将为None。
lastgroup: 最后一个被捕获的分组的别名。如果这个分组没有别名或者没有被捕获的分组,将为None。
方法

group([group1,…]):
获得一个或多个分组截获的字符串;指定多个参数时将以元组形式返回。group1可以使用编号也可以使用别名;编号0代表整个匹配的子串;不填写参数时,返回group(0);没有截获字符串的组返回None;截获了多次的组返回最后一次截获的子串。
groups([default]):
元组形式返回全部分组截获的字符串。相当于调用group(1,2,…last)。default表示没有截获字符串的组以这个值替代,认为None。
groupdict([default]):
返回以有别名的组的别名为键、以该组截获的子串为值的字典,没有别名的组不包含在内。default含义同上。
start([group]):
返回指定的组截获的子串在string中的起始索引(子串第一个字符的索引)。group认值为0。
end([group]):
返回指定的组截获的子串在string中的结束索引(子串最后一个字符的索引+1)。group认值为0。
span([group]):
返回(start(group),end(group))。
expand(template):
将匹配到的分组代入template中然后返回。template中可以使用\id或\g<id>、\g<name>引用分组,但不能使用编号0。\id与\g<id>是等价的;但\10将被认为是第10个分组,如果你想表达\1之后是字符‘0‘,只能使用\g<1>0。

split(string[,maxsplit]) | re.split(pattern,string[,maxsplit]): 
按照能够匹配的子串将string分割后返回列表。maxsplit用于指定最大分割次数,不指定将全部分割。 

import re

p = re.compile(r‘\d+‘)
print p.split(‘one1two2three3four4‘)

### output ###
# [‘one‘,‘two‘,‘three‘,‘four‘,‘‘]
findall(string[,pos[,endpos]]) | re.findall(pattern,flags]): 
搜索string,以列表形式返回全部能匹配的子串。 

import re

p = re.compile(r‘\d+‘)
print p.findall(‘one1two2three3four4‘)

### output ###
# [‘1‘,‘2‘,‘3‘,‘4‘]

refer : http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐