常见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 流程控制实例代码
Sep 25 Python
python实现堆栈与队列的方法
Jan 15 Python
Python实现PS滤镜特效Marble Filter玻璃条纹扭曲效果示例
Jan 29 Python
Python网络编程使用select实现socket全双工异步通信功能示例
Apr 09 Python
python实现图片批量压缩程序
Jul 23 Python
Win10环境python3.7安装dlib模块趟过的坑
Aug 01 Python
python+Django实现防止SQL注入的办法
Oct 31 Python
opencv3/C++图像像素操作详解
Dec 10 Python
python字符串替换re.sub()实例解析
Feb 09 Python
python装饰器三种装饰模式的简单分析
Sep 04 Python
通过python-pptx模块操作ppt文件的方法
Dec 26 Python
PyCharm 光标变成黑块的解决方式
Feb 06 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
Drupal读取Excel并导入数据库实例
2014/03/02 PHP
复制小说文本时出现的随机乱码的去除方法
2010/09/07 Javascript
javascript小组件 原生table排序表格脚本(兼容ie firefox opera chrome)
2012/07/25 Javascript
JQuery实现简单时尚快捷的气泡提示插件
2012/12/20 Javascript
JavaScript实现关键字高亮功能
2014/11/12 Javascript
学习JavaScript设计模式(继承)
2015/11/26 Javascript
解析JavaScript模仿块级作用域
2016/12/29 Javascript
javascript设计模式之模块模式学习笔记
2017/02/15 Javascript
BootStrap中jQuery插件Carousel实现轮播广告效果
2017/03/27 jQuery
Google 爬虫如何抓取 JavaScript 的内容
2017/04/07 Javascript
浅谈vue-cli加载不到dev-server.js的解决办法
2017/11/24 Javascript
vue实现密码显示隐藏切换功能
2018/02/23 Javascript
创建echart多个联动的示例代码
2018/11/23 Javascript
react配置antd按需加载的使用
2019/02/11 Javascript
深入浅析nuxt.js基于ssh的vue通用框架
2019/05/21 Javascript
layer扩展打开/关闭动画的方法
2019/09/23 Javascript
实现vuex与组件data之间的数据同步更新方式
2019/11/12 Javascript
[02:21]DOTA2英雄基础教程 蝙蝠骑士
2013/12/16 DOTA
python实现数通设备端口监控示例
2014/04/02 Python
python 获取文件下所有文件或目录os.walk()的实例
2018/04/23 Python
使用Python来开发微信功能
2018/06/13 Python
PyCharm+PySpark远程调试的环境配置的方法
2018/11/29 Python
python 使用poster模块进行http方式的文件传输到服务器的方法
2019/01/15 Python
python IDLE 背景以及字体大小的修改方法
2019/07/12 Python
HTML5本地存储之Web Storage应用介绍
2013/01/06 HTML / CSS
Html5 video标签视频的最佳实践
2020/02/26 HTML / CSS
南威尔士家居商店:Leekes
2016/10/25 全球购物
安全生产汇报材料
2014/02/17 职场文书
预防煤气中毒方案
2014/06/16 职场文书
党员个人公开承诺书
2014/08/29 职场文书
车辆转让协议书
2014/09/24 职场文书
单方离婚协议书范本(2014版)
2014/09/30 职场文书
九九重阳节标语
2014/10/07 职场文书
4S店客服专员岗位职责
2015/04/07 职场文书
Spring Boot 排除某个类加载注入IOC的操作
2021/08/02 Java/Android
java项目构建Gradle的使用教程
2022/03/24 Java/Android