常见python正则用法的简单实例


Posted in Python onJune 21, 2016

下面列出Python正则表达式的几种匹配用法:

1.测试正则表达式是否匹配字符串的全部或部分

regex=ur"" #正则表达式
if re.search(regex, subject):
do_something()
else:
do_anotherthing()

2.测试正则表达式是否匹配整个字符串

regex=ur"\Z" #正则表达式末尾以\Z结束
if re.match(regex, subject):
    do_something()
else:
    do_anotherthing()

3.创建一个匹配对象,然后通过该对象获得匹配细节(Create an object with details about how the regex matches (part of) a string)

regex=ur"" #正则表达式
match = re.search(regex, subject)
if match:
    # match start: match.start()
    # match end (exclusive): atch.end()
    # matched text: match.group()
    do_something()
else:
    do_anotherthing()

4.获取正则表达式所匹配的子串(Get the part of a string matched by the regex)

regex=ur"" #正则表达式
match = re.search(regex, subject)
if match:
    result = match.group()
else:
    result = ""

5. 获取捕获组所匹配的子串(Get the part of a string matched by a capturing group)

regex=ur"" #正则表达式
match = re.search(regex, subject)
if match:
    result = match.group(1)
else:
    result = ""

6. 获取有名组所匹配的子串(Get the part of a string matched by a named group)

regex=ur"" #正则表达式
match = re.search(regex, subject)
if match:
result = match.group"groupname")
else:
result = ""

7. 将字符串中所有匹配的子串放入数组中(Get an array of all regex matches in a string)

result = re.findall(regex, subject)

8.遍历所有匹配的子串(Iterate over all matches in a string)

for match in re.finditer(r"<(.*?)\s*.*?/\1>", subject)
    # match start: match.start()
    # match end (exclusive): atch.end()
    # matched text: match.group()

9.通过正则表达式字符串创建一个正则表达式对象(Create an object to use the same regex for many operations)

reobj = re.compile(regex)

10.用法1的正则表达式对象版本(use regex object for if/else branch whether (part of) a string can be matched)

reobj = re.compile(regex)
if reobj.search(subject):
    do_something()
else:
    do_anotherthing()

11.用法2的正则表达式对象版本(use regex object for if/else branch whether a string can be matched entirely)

reobj = re.compile(r"\Z") #正则表达式末尾以\Z 结束
if reobj.match(subject):
    do_something()
else:
    do_anotherthing()

12.创建一个正则表达式对象,然后通过该对象获得匹配细节(Create an object with details about how the regex object matches (part of) a string)

reobj = re.compile(regex)
match = reobj.search(subject)
if match:
    # match start: match.start()
    # match end (exclusive): atch.end()
    # matched text: match.group()
    do_something()
else:
    do_anotherthing()

13.用正则表达式对象获取匹配子串(Use regex object to get the part of a string matched by the regex)

reobj = re.compile(regex)
match = reobj.search(subject)
if match:
    result = match.group()
else:
    result = ""

14.用正则表达式对象获取捕获组所匹配的子串(Use regex object to get the part of a string matched by a capturing group)

reobj = re.compile(regex)
match = reobj.search(subject)
if match:
    result = match.group(1)
else:
    result = ""

15.用正则表达式对象获取有名组所匹配的子串(Use regex object to get the part of a string matched by a named group)

reobj = re.compile(regex)
match = reobj.search(subject)
if match:
    result = match.group("groupname")
else:
    result = ""

16.用正则表达式对象获取所有匹配子串并放入数组(Use regex object to get an array of all regex matches in a string)

reobj = re.compile(regex)
result = reobj.findall(subject)

17.通过正则表达式对象遍历所有匹配子串(Use regex object to iterate over all matches in a string)

reobj = re.compile(regex)
for match in reobj.finditer(subject):
    # match start: match.start()
    # match end (exclusive): match.end()
    # matched text: match.group()

字符串替换

1.替换所有匹配的子串

#用newstring替换subject中所有与正则表达式regex匹配的子串
result = re.sub(regex, newstring, subject)

2.替换所有匹配的子串(使用正则表达式对象)

reobj = re.compile(regex)
result = reobj.sub(newstring, subject)

字符串拆分

1.字符串拆分

result = re.split(regex, subject)

2.字符串拆分(使用正则表示式对象)

reobj = re.compile(regex)
result = reobj.split(subject)

以上这篇常见python正则用法的简单实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中的闭包实例详解
Aug 29 Python
python实现超简单端口转发的方法
Mar 13 Python
Python实现类的创建与使用方法示例
Jul 25 Python
使用Python如何测试InnoDB与MyISAM的读写性能
Sep 18 Python
Ubuntu+python将nii图像保存成png格式
Jul 18 Python
python Django 创建应用过程图示详解
Jul 29 Python
对python中的*args与**kwgs的含义与作用详解
Aug 28 Python
python 单线程和异步协程工作方式解析
Sep 28 Python
python pip安装包出现:Failed building wheel for xxx错误的解决
Dec 25 Python
pandas 对group进行聚合的例子
Dec 27 Python
浅谈Python3实现两个矩形的交并比(IoU)
Jan 18 Python
Python实现曲线拟合的最小二乘法
Feb 19 Python
小议Python中自定义函数的可变参数的使用及注意点
Jun 21 #Python
简单讲解Python编程中namedtuple类的用法
Jun 21 #Python
Python编程中实现迭代器的一些技巧小结
Jun 21 #Python
Centos Python2 升级到Python3的简单实现
Jun 21 #Python
Python的Django框架中forms表单类的使用方法详解
Jun 21 #Python
Python正则表达式使用经典实例
Jun 21 #Python
常见的python正则用法实例讲解
Jun 21 #Python
You might like
PHP动态图像的创建
2006/10/09 PHP
php中使用Imagick实现图像直方图的实现代码
2011/08/30 PHP
解析VS2010利用VS.PHP插件调试PHP的方法
2013/07/19 PHP
PHPer 需要了解的 5 个 Composer 小技巧
2014/08/18 PHP
PHP模板解析类实例
2015/07/09 PHP
老司机传授Ubuntu下Apache+PHP+MySQL环境搭建攻略
2016/03/20 PHP
详解php中serialize()和unserialize()函数
2017/07/08 PHP
一个简单的jQuery插件制作 学习过程及实例
2010/04/25 Javascript
Prototype源码浅析 Number部分
2012/01/16 Javascript
JS this作用域以及GET传输值过长的问题解决方法
2013/08/06 Javascript
Jquery 实现table样式的设定
2015/01/28 Javascript
jQuery动画与特效详解
2015/02/01 Javascript
原生js结合html5制作小飞龙的简易跳球
2015/03/30 Javascript
JavaScript 表单处理实现代码
2015/04/13 Javascript
详解angular用$sce服务来过滤HTML标签
2017/04/11 Javascript
angular4自定义组件详解
2017/09/28 Javascript
vue的状态管理模式vuex
2017/11/30 Javascript
探索Vue高阶组件的使用
2018/01/08 Javascript
Vue封装Swiper实现图片轮播效果
2018/02/06 Javascript
[01:01:52]DOTA2-DPC中国联赛定级赛 SAG vs iG BO3第二场 1月9日
2021/03/11 DOTA
Python批量创建迅雷任务及创建多个文件
2016/02/13 Python
python线程池threadpool实现篇
2018/04/27 Python
python最长回文串算法
2018/06/04 Python
python 对key为时间的dict排序方法
2018/10/17 Python
Python函数式编程指南:对生成器全面讲解
2019/11/19 Python
python3用urllib抓取贴吧邮箱和QQ实例
2020/03/10 Python
Django框架配置mysql数据库实现过程
2020/04/22 Python
Django Path转换器自定义及正则代码实例
2020/05/29 Python
matplotlib.pyplot.plot()参数使用详解
2020/07/28 Python
双立人美国官方商店:ZWILLING集团餐具和炊具
2020/05/07 全球购物
财产公证书格式
2014/04/10 职场文书
乡镇精神文明建设汇报材料
2014/08/15 职场文书
盗窃罪辩护词范文
2015/05/21 职场文书
餐厅服务员管理制度
2015/08/05 职场文书
一文搞懂如何实现Go 超时控制
2021/03/30 Python
python爬虫之selenium库的安装及使用教程
2021/05/23 Python