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中os和shutil模块实用方法集锦
May 13 Python
python使用os.listdir和os.walk获得文件的路径的方法
Dec 16 Python
Python3爬取英雄联盟英雄皮肤大图实例代码
Nov 14 Python
python提取包含关键字的整行数据方法
Dec 11 Python
很酷的python表白工具 你喜欢我吗
Apr 11 Python
python matplotlib库绘制散点图例题解析
Aug 10 Python
python 多进程共享全局变量之Manager()详解
Aug 15 Python
Python3中的f-Strings增强版字符串格式化方法
Mar 04 Python
python自定义函数def的应用详解
Jun 03 Python
为什么说python适合写爬虫
Jun 11 Python
python实现二分查找算法
Sep 18 Python
Python之qq自动发消息的示例代码
Feb 18 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 基于Yii框架中使用smarty模板的方法详解
2013/06/13 PHP
Laravel框架中扩展函数、扩展自定义类的方法
2014/09/04 PHP
PHP 实现判断用户是否手机访问
2015/01/21 PHP
javascript document.execCommand() 常用解析
2009/12/14 Javascript
如何使用jquery动态加载js,css文件实现代码
2013/04/03 Javascript
JS定时器实例详细分析
2013/10/11 Javascript
Underscore.js常用方法总结
2015/02/28 Javascript
jquery实现的Accordion折叠面板效果代码
2015/09/02 Javascript
详解Angular调试技巧之报错404(not found)
2018/01/31 Javascript
微信小程序之swiper轮播图中的图片自适应高度的方法
2018/04/23 Javascript
利用vue.js把静态json绑定bootstrap的table方法
2018/08/28 Javascript
spring+angular实现导出excel的实现代码
2019/02/27 Javascript
详解Vue项目引入CreateJS的方法(亲测可用)
2019/05/30 Javascript
js实现简单点赞操作
2020/03/17 Javascript
javascript设计模式 ? 策略模式原理与用法实例分析
2020/04/21 Javascript
JavaScript构造函数原理及实现流程解析
2020/11/19 Javascript
python翻译软件实现代码(使用google api完成)
2013/11/26 Python
用Python的Flask框架结合MySQL写一个内存监控程序
2015/11/07 Python
python中如何使用朴素贝叶斯算法
2017/04/06 Python
Python sqlite3事务处理方法实例分析
2017/06/19 Python
Python基于pygame模块播放MP3的方法示例
2017/09/30 Python
对numpy下的轴交换transpose和swapaxes的示例解读
2019/06/26 Python
python pandas 时间日期的处理实现
2019/07/30 Python
python3.7环境下安装Anaconda的教程图解
2019/09/10 Python
详解python路径拼接os.path.join()函数的用法
2019/10/09 Python
使用Python的networkx绘制精美网络图教程
2019/11/21 Python
Python模块_PyLibTiff读取tif文件的实例
2020/01/13 Python
多个python文件调用logging模块报错误
2020/02/12 Python
Jupyter Notebook安装及使用方法解析
2020/11/12 Python
Aveda美国官网:天然护发产品、洗发水、护发素和沙龙
2016/12/09 全球购物
学生会竞选演讲稿纪检部
2014/08/25 职场文书
感恩祖国演讲稿
2014/09/09 职场文书
庆祝三八妇女节标语
2014/10/09 职场文书
2015年校务公开工作总结
2015/05/26 职场文书
幼儿园大班教育随笔
2015/08/14 职场文书
总结Pyinstaller打包的高级用法
2021/06/28 Python