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 相关文章推荐
将图片文件嵌入到wxpython代码中的实现方法
Aug 11 Python
线程和进程的区别及Python代码实例
Feb 04 Python
利用Python画ROC曲线和AUC值计算
Sep 19 Python
Python中模块pymysql查询结果后如何获取字段列表
Jun 05 Python
Python实现感知机(PLA)算法
Dec 20 Python
200 行python 代码实现 2048 游戏
Jan 12 Python
Python线性回归实战分析
Feb 01 Python
mac下如何将python2.7改为python3
Jul 13 Python
python在新的图片窗口显示图片(图像)的方法
Jul 11 Python
python使用HTMLTestRunner导出饼图分析报告的方法
Dec 30 Python
在PyCharm中遇到pip安装 失败问题及解决方案(pip失效时的解决方案)
Mar 10 Python
Jupyter notebook 启动闪退问题的解决
Apr 13 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绘制在图片上的正余弦曲线
2013/06/08 PHP
PHP设计模式之观察者模式实例
2016/02/22 PHP
PHP中字符与字节的区别及字符串与字节转换示例
2016/10/15 PHP
PHP数组中头部和尾部添加元素的方法(array_unshift,array_push)
2017/04/10 PHP
node.js中的fs.lchmod方法使用说明
2014/12/16 Javascript
jQuery中unbind()方法用法实例
2015/01/19 Javascript
JavaScript将一个数组插入到另一个数组的方法
2015/03/19 Javascript
AngularJS基础学习笔记之表达式
2015/05/10 Javascript
基于javascript实现图片预加载
2016/01/05 Javascript
Vue原理剖析 实现双向绑定MVVM
2017/05/03 Javascript
JavaScript使用atan2来绘制箭头和曲线的实例
2017/09/14 Javascript
Vue.js@2.6.10更新内置错误处机制Fundebug同步支持相应错误监控
2019/05/13 Javascript
[01:18]DOTA2超级联赛专访hanci ForLove淘汰感言曝光
2013/06/04 DOTA
python中List的sort方法指南
2014/09/01 Python
跟老齐学Python之做一个小游戏
2014/09/28 Python
python实现简单socket通信的方法
2016/04/19 Python
python使用psutil模块获取系统状态
2016/08/27 Python
使用Python对MySQL数据操作
2017/04/06 Python
Python中定时任务框架APScheduler的快速入门指南
2017/07/06 Python
详解爬虫被封的问题
2019/04/23 Python
python查找重复图片并删除(图片去重)
2019/07/16 Python
Python enumerate函数遍历数据对象组合过程解析
2019/12/11 Python
python nohup 实现远程运行不宕机操作
2020/04/16 Python
matplotlib grid()设置网格线外观的实现
2021/02/22 Python
利用HTML5绘制点线面组成的3D图形的示例
2015/05/12 HTML / CSS
德国消费电子产品购物网站:Guter Kauf
2020/09/15 全球购物
VC++笔试题
2014/10/13 面试题
优秀学生干部个人的自我评价
2013/10/04 职场文书
安全资料员岗位职责
2013/12/14 职场文书
竞聘自述材料
2014/08/25 职场文书
安全环保演讲稿
2014/08/28 职场文书
购房协议书范本
2014/10/02 职场文书
2014年平安夜寄语
2014/12/08 职场文书
表彰大会新闻稿
2015/07/17 职场文书
《鸟的天堂》教学反思
2016/02/19 职场文书
Spring Boot 排除某个类加载注入IOC的操作
2021/08/02 Java/Android