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实现网站文件的全备份和差异备份
Nov 30 Python
python实现DES加密解密方法实例详解
Jun 30 Python
python实现自动重启本程序的方法
Jul 09 Python
解决Scrapy安装错误:Microsoft Visual C++ 14.0 is required...
Oct 01 Python
Python中按值来获取指定的键
Mar 04 Python
Python Gitlab Api 使用方法
Aug 28 Python
python+pygame实现坦克大战
Sep 10 Python
Android Q之气泡弹窗的实现示例
Jun 23 Python
Python使用requests模块爬取百度翻译
Aug 25 Python
基于Python爬取京东双十一商品价格曲线
Oct 23 Python
利于python脚本编写可视化nmap和masscan的方法
Dec 29 Python
pandas中对文本类型数据的处理小结
Nov 01 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 HTML无刷新提交表单
2016/04/05 PHP
Yii2搭建后台并实现rbac权限控制完整实例教程
2016/04/28 PHP
php遍历解析xml字符串的方法
2016/05/05 PHP
PHP实现的敏感词过滤方法示例
2019/03/06 PHP
Javascript 中的 &amp;&amp; 和 || 使用小结
2010/04/25 Javascript
js渐变显示渐变消失示例代码
2013/08/01 Javascript
jquery放大镜效果超漂亮噢
2013/11/15 Javascript
js字符串截取函数substr substring slice使用对比
2013/11/27 Javascript
一个js控制的导航菜单实例代码
2013/12/03 Javascript
浅谈JavaScript函数参数的可修改性问题
2013/12/05 Javascript
javascript文件中引用依赖的js文件的方法
2014/03/17 Javascript
Javascript 实现复制(Copy)动作方法大全
2014/06/20 Javascript
浅谈window对象的scrollBy()方法
2015/07/15 Javascript
JavaScript的this关键字的理解
2016/06/18 Javascript
javascript实现的全国省市县无刷新多级关联菜单效果代码
2016/08/01 Javascript
javascript实现瀑布流动态加载图片原理
2016/08/12 Javascript
基于jQuery实现Accordion手风琴自定义插件
2020/10/13 Javascript
使用angular帮你实现拖拽的示例
2017/07/05 Javascript
Vue中UI组件库之Vuex与虚拟服务器初识
2019/05/07 Javascript
koa+jwt实现token验证与刷新功能
2019/05/30 Javascript
Vue中使用Lodop插件实现打印功能的简单方法
2019/12/19 Javascript
[01:51]开启你的城市传奇 完美世界城市挑战赛开始报名
2018/10/09 DOTA
[55:54]FNATIC vs EG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
[01:27:30]LGD vs Newbee 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
在Django的模型中执行原始SQL查询的方法
2015/07/21 Python
使用opencv将视频帧转成图片输出
2019/12/10 Python
python FTP批量下载/删除/上传实例
2019/12/22 Python
2021年值得向Python开发者推荐的VS Code扩展插件
2021/01/25 Python
SmartBuyGlasses荷兰:购买太阳镜和眼镜
2020/03/16 全球购物
100%羊绒:NakedCashmere
2020/08/26 全球购物
在数据文件自动增长时,自动增长是否会阻塞对文件的更新
2014/05/01 面试题
如何整合JQuery和Prototype
2014/01/31 面试题
促销活动总结怎么写
2014/06/25 职场文书
会计人员演讲稿
2014/09/11 职场文书
受资助学生感谢信
2015/01/21 职场文书
Python超详细分步解析随机漫步
2022/03/17 Python