python 正则式使用心得

yipeiwu_com5年前Python基础

1.match() 从开始位置开始匹配
2.search() 任意位置匹配,如果有多个匹配,只返回第一个
3.finditer() 返回所有匹配
4.每次匹配,都是尽量最大匹配。例如:
>>> m = re.compile('abc[bcd]*b')
>>> m.findall('abcbcbcb')
['abcbcbcb']
其实abcbcb也是匹配的abc[bcd]*b的,不过只返回一个最大的匹配值。
5.split()方法
a.根据正则式划分字符串,可指定最大的划分数
>>> p = re.compile(r'\W+')
>>> p.split('This is a test, short and sweet, of split().')
['This', 'is', 'a', 'test', 'short', 'and', 'sweet', 'of', 'split', '']
b.有时,你不仅对定界符之间的文本感兴趣,也需要知道定界符是什么。
如果捕获括号在 RE 中使用,那么它们的值也会当作列表的一部分返回。比较下面的调用:
>>> p2 = re.compile(r'(\W+)')
['This', '... ', 'is', ' ', 'a', ' ', 'test', '.', '']

相关文章

python 采集中文乱码问题的完美解决方法

近几日遇到采集某网页的时候大部分网页OK,少部分网页出现乱码的问题,调试了几日,终于发现了是含有一些非法字符造成的..特此记录 1. 在正常情况下..可以用 import char...

python实现的生成随机迷宫算法核心代码分享(含游戏完整代码)

完整代码下载:http://xiazai.jb51.net/201407/tools/python-migong.rar 最近研究了下迷宫的生成算法,然后做了个简单的在线迷宫游戏。游戏地...

python处理“&#”开头加数字的html字符方法

python处理“&#”开头加数字的html字符方法

python如何处理“&#”开头加数字的html字符,比如:风水这类数据。 用python抓取数据时,有时会遇到想要数据是以“&#”开头加数字的字符,比如图中...

基于Python Numpy的数组array和矩阵matrix详解

基于Python Numpy的数组array和矩阵matrix详解

NumPy的主要对象是同种元素的多维数组。这是一个所有的元素都是一种类型、通过一个正整数元组索引的元素表格(通常是元素是数字)。 在NumPy中维度(dimensions)叫做轴(axe...

Python列表list数组array用法实例解析

本文以实例形式详细讲述了Python列表list数组array用法。分享给大家供大家参考。具体如下: Python中的列表(list)类似于C#中的可变数组(ArrayList),用于顺...