常见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 相关文章推荐
flask + pymysql操作Mysql数据库的实例
Nov 13 Python
python不换行之end=与逗号的意思及用途
Nov 21 Python
PyCharm在win10的64位系统安装实例
Nov 26 Python
Win7下Python与Tensorflow-CPU版开发环境的安装与配置过程
Jan 04 Python
python机器学习理论与实战(五)支持向量机
Jan 19 Python
python语音识别实践之百度语音API
Aug 30 Python
Django model序列化为json的方法示例
Oct 16 Python
关于python3中setup.py小概念解析
Aug 22 Python
python常用运维脚本实例小结
Feb 14 Python
PyCharm GUI界面开发和exe文件生成的实现
Mar 04 Python
Pycharm-community-2020.2.3 社区版安装教程图文详解
Dec 08 Python
python 办公自动化——基于pyqt5和openpyxl统计符合要求的名单
May 25 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
让你同时上传 1000 个文件 (二)
2006/10/09 PHP
完美实现GIF动画缩略图的php代码
2011/01/02 PHP
php xml常用函数的集合(比较详细)
2013/06/06 PHP
PHP中$this和$that指针使用实例
2015/01/06 PHP
php使用post数组的键值创建同名变量并赋值的方法
2015/04/03 PHP
PHP实现的MD5结合RSA签名算法实例
2017/10/07 PHP
PHP7新特性
2021/03/09 PHP
基于jquery的返回顶部效果(兼容IE6)
2011/01/17 Javascript
JavaScript中for..in循环陷阱介绍
2013/11/12 Javascript
JavaScript制作淘宝星级评分效果的思路
2020/06/23 Javascript
详解JavaScript UTC时间转换方法
2016/01/07 Javascript
解决vue接口数据赋值给data没有反应的问题
2018/08/27 Javascript
vue router 通过路由来实现切换头部标题功能
2019/04/24 Javascript
VUE实现强制渲染,强制更新
2019/10/29 Javascript
vue中移动端调取本地的复制的文本方式
2020/07/18 Javascript
Python的Flask开发框架简单上手笔记
2015/11/16 Python
基于Python中numpy数组的合并实例讲解
2018/04/04 Python
Pandas Shift函数的基础入门学习笔记
2018/11/16 Python
python爬虫超时的处理的实例
2018/12/19 Python
python通过配置文件共享全局变量的实例
2019/01/11 Python
Pytorch 定义MyDatasets实现多通道分别输入不同数据方式
2020/01/15 Python
Python类中self参数用法详解
2020/02/13 Python
QT5 Designer 打不开的问题及解决方法
2020/08/20 Python
印度首选时尚目的地:Reliance Trends
2018/01/17 全球购物
以太网Ethernet IEEE802.3
2013/08/05 面试题
UNIX操作系统结构由哪几部分组成
2016/02/17 面试题
计算机网络毕业生自荐信
2013/10/01 职场文书
应届生自我鉴定
2013/12/11 职场文书
乡村文明行动实施方案
2014/03/29 职场文书
机关出纳岗位职责
2014/04/03 职场文书
《金孔雀轻轻跳》教学反思
2014/04/20 职场文书
2015年大学团支部工作总结
2015/05/13 职场文书
Nginx配置SSL证书出错解决方案
2021/03/31 Servers
完美处理python与anaconda环境变量的冲突问题
2021/04/07 Python
Go本地测试解耦任务拆解及沟通详解Go本地测试的思路沟通的重要性总结
2022/06/21 Golang
Nginx如何获取自定义请求header头和URL参数详解
2022/07/23 Servers