python 正则式使用心得

yipeiwu_com6年前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版本五子棋的实现代码

python版本五子棋的实现代码

正文之前 前阵子做了个《人工智能》 的课程作业,然后写了个人工智障。。。大概就是个可以跟你下五子棋的傻儿子。。。下面是代码和效果 正文 1、 摘要 机器博弈是人工智能领域的重要分支,它...

Python生成短uuid的方法实例详解

python的uuid都是32位的,比较长,处理起来效率比较低, 本算法利用62个可打印字符,通过随机生成32位UUID,由于UUID都为十六进制,所以将UUID分成8组,每4个为一组,...

pandas将多个dataframe以多个sheet的形式保存到一个excel文件中

要实现这个功能,可能有多种方法,我在这里记录下一个比较方便的方法: import pandas as pd writer = pd.ExcelWriter('test.xlsx')...

Python3实现的腾讯微博自动发帖小工具

复制代码 代码如下:# -*- coding: UTF-8 -*-import mysql.connector as dbimport client.tWeiboimport time...

Python自定义线程池实现方法分析

Python自定义线程池实现方法分析

本文实例讲述了Python自定义线程池实现方法。分享给大家供大家参考,具体如下: 关于python的多线程,由与GIL的存在被广大群主所诟病,说python的多线程不是真正的多线程。但多...