Python字符串匹配之6种方法的使用详解


Posted in Python onApril 08, 2019

1. re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。

import re
line="this hdr-biz 123 model server 456"
pattern=r"123"
matchObj = re.match( pattern, line)

2. re.search 扫描整个字符串并返回第一个成功的匹配。

import re
line="this hdr-biz model server"
pattern=r"hdr-biz"
m = re.search(pattern, line)

3. Python 的re模块提供了re.sub用于替换字符串中的匹配项。

import re
line="this hdr-biz model args= server"
patt=r'args='
name = re.sub(patt, "", line)

4. compile 函数用于编译正则表达式,生成一个正则表达式( Pattern )对象,供 match() 和 search() 这两个函数使用。

import re
pattern = re.compile(r'\d+')

5. re.findall 在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表。

import re
line="this hdr-biz model args= server"
patt=r'server'
pattern = re.compile(patt)
result = pattern.findall(line)

6. re.finditer 和 findall 类似,在字符串中找到正则表达式所匹配的所有子串,并把它们作为一个迭代器返回。

import re
it = re.finditer(r"\d+","12a32bc43jf3")
for match in it:
 print (match.group() )

PS:Python字符串匹配及正则表达式说明 

解析url地址正则表达式:

regexp = (r'^(?P<scheme>[a-z][\w\.\-\+]+)?:(//)?'
     r'(?:(?P<username>\w+):(?P<password>[\w\W]+)@|)'
     r'(?P<domain>[\w-]+(?:\.[\w-]+)*)(?::(?P<port>\d+))?/?'
     r'(?P<path>\/[\w\.\/-]+)?(?P<query>\?[\w\.*!=&@%;:/+-]+)?'
     r'(?P<fragment>#[\w-]+)?$')
match = re.search(regexp, url.strip(), re.U)
if match is None:
  raise ValueError('Incorrent url: {0}'.format(url))
url_parts = match.groupdict()
url='https://blog.csdn.net/weixin_40907382/article/明细/79654372'
print(url_parts):{'scheme': 'https', 'username': None, 'password': None, 'domain': 'blog.csdn.net', 'port': None, 'path': '/weixin_40907382/article/明细/79654372', 'query': None, 'fragment': None}

总结

以上所述是小编给大家介绍的Python字符串匹配之6种方法的使用,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
python 从远程服务器下载日志文件的程序
Feb 10 Python
Python中的闭包总结
Sep 18 Python
详细介绍Python函数中的默认参数
Mar 30 Python
python itchat实现微信好友头像拼接图的示例代码
Aug 14 Python
python中正则表达式的使用方法
Feb 25 Python
使用Flask集成bootstrap的方法
Jul 24 Python
django基础学习之send_mail功能
Aug 07 Python
浅析python内置模块collections
Nov 15 Python
Python内置加密模块用法解析
Nov 25 Python
python属于解释型语言么
Jun 15 Python
python+flask编写一个简单的登录接口
Nov 13 Python
Python词云的正确实现方法实例
May 08 Python
Python面向对象实现一个对象调用另一个对象操作示例
Apr 08 #Python
Python后台开发Django的教程详解(启动)
Apr 08 #Python
Python3利用print输出带颜色的彩色字体示例代码
Apr 08 #Python
Python定义函数功能与用法实例详解
Apr 08 #Python
详解Python中pandas的安装操作说明(傻瓜版)
Apr 08 #Python
Python下简易的单例模式详解
Apr 08 #Python
Python字符串的常见操作实例小结
Apr 08 #Python
You might like
解析php中获取url与物理路径的总结
2013/06/21 PHP
探讨:php中在foreach中使用foreach ($arr as &amp;$value) 这种类型的解释
2013/06/24 PHP
PHP把空格、换行符、中文逗号等替换成英文逗号的正则表达式
2014/05/04 PHP
PHP实现163邮箱自动发送邮件
2016/03/29 PHP
PHP基于堆栈实现的高级计算器功能示例
2017/09/15 PHP
基于jquery实现一张图片点击鼠标放大再点缩小
2013/09/29 Javascript
js动态设置鼠标事件示例代码
2013/10/30 Javascript
浅析Nodejs npm常用命令
2016/06/14 NodeJs
浅谈vue+webpack项目调试方法步骤
2017/09/11 Javascript
除Console.log()外更多的Javascript调试命令
2018/01/24 Javascript
微信小程序导航栏滑动定位功能示例(实现CSS3的positionsticky效果)
2019/01/24 Javascript
详解小程序用户登录状态检查与更新实例
2019/05/15 Javascript
浅谈TypeScript的类型保护机制
2020/02/23 Javascript
Python脚本处理空格的方法
2016/08/08 Python
Python的CGIHTTPServer交互实现详解
2018/02/08 Python
pyqt5的QWebEngineView 使用模板的方法
2018/08/18 Python
如何使用Python 打印各种三角形
2019/06/28 Python
python+pygame实现坦克大战
2019/09/10 Python
Python实现投影法分割图像示例(一)
2020/01/17 Python
详解Python IO编程
2020/07/24 Python
python asyncio 协程库的使用
2021/01/21 Python
彪马香港官方网上商店:PUMA香港
2020/12/06 全球购物
专科毕业生求职简历的自我评价
2013/10/12 职场文书
外贸英语专业求职信范文
2013/12/25 职场文书
小学生元旦广播稿
2014/02/21 职场文书
科学发展观活动总结
2014/08/28 职场文书
学生会感恩节活动方案
2014/10/11 职场文书
食品仓管员岗位职责
2015/04/01 职场文书
刑事撤诉申请书
2015/05/18 职场文书
撤诉状格式范本
2015/05/19 职场文书
在职证明书模板
2015/06/15 职场文书
孙振耀退休感言
2015/08/01 职场文书
2016年教师党员承诺书范文
2016/03/24 职场文书
“鬼灭之刃”热度不减,其成功背后的原因是什么?
2022/03/22 日漫
如何在Python中妥善使用进度条详解
2022/04/05 Python
vmware虚拟机打不开vmx文件怎么办 ?vmware虚拟机vmx文件打开方法
2022/04/08 数码科技