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进阶教程之异常处理
Aug 30 Python
python中getaddrinfo()基本用法实例分析
Jun 28 Python
Python常用的json标准库
Feb 19 Python
python安装numpy和pandas的方法步骤
May 27 Python
django之状态保持-使用redis存储session的例子
Jul 28 Python
利用python实现汉字转拼音的2种方法
Aug 12 Python
python openCV获取人脸部分并存储功能
Aug 28 Python
Python3 使用selenium插件爬取苏宁商家联系电话
Dec 23 Python
使用python创建Excel工作簿及工作表过程图解
May 27 Python
python爬虫数据保存到mongoDB的实例方法
Jul 28 Python
python基于OpenCV模板匹配识别图片中的数字
Mar 31 Python
进行数据处理的6个 Python 代码块分享
Apr 06 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乱码问题,UTF-8乱码常见问题小结
2012/04/09 PHP
CL vs ForZe BO5 第一场 2.13
2021/03/10 DOTA
Ajax 数据请求的简单分析
2011/04/05 Javascript
js动态在form上插入enctype=multipart/form-data的问题
2012/05/24 Javascript
jquery indexOf使用方法
2013/08/19 Javascript
原生javaScript做得动态表格(注释写的很清楚)
2013/12/29 Javascript
jQuery实现的多级下拉菜单效果代码
2015/08/24 Javascript
JS实现灵巧的下拉导航效果代码
2015/08/25 Javascript
jQuery 移动端artEditor富文本编辑器
2016/01/11 Javascript
DeviceOne 让你一见钟情的App快速开发平台
2016/02/17 Javascript
AngularJS实现textarea记录只能输入规定数量的字符并显示
2016/04/26 Javascript
jQuery ajax全局函数处理session过期后的ajax跳转问题
2016/06/03 Javascript
Vue.js每天必学之组件与组件间的通信
2016/09/08 Javascript
jQuery实现发送验证码并60秒倒计时功能
2016/11/25 Javascript
利用Query+bootstrap和js两种方式实现日期选择器
2017/01/10 Javascript
js选项卡的制作方法
2017/01/23 Javascript
Angular2库初探
2017/03/01 Javascript
angularJS利用ng-repeat遍历二维数组的实例代码
2017/06/03 Javascript
Vue.js自定义事件的表单输入组件方法
2018/03/08 Javascript
react 组件传值的三种方法
2019/06/03 Javascript
微信小程序开发技巧汇总
2019/07/15 Javascript
vue组件命名和props命名代码详解
2019/09/01 Javascript
Selenium执行Javascript脚本参数及返回值过程详解
2020/04/01 Javascript
[02:22]完美世界DOTA2联赛PWL S3 集锦第一期
2020/12/15 DOTA
python中通过预先编译正则表达式提高效率
2017/09/25 Python
python防止随意修改类属性的实现方法
2019/08/21 Python
python实现飞船大战
2020/04/24 Python
Pyqt助手安装PyQt5帮助文档过程图解
2020/11/20 Python
HTML5拖拽API经典实例详解
2018/04/20 HTML / CSS
Kaufmann Mercantile官网:家居装饰、配件、户外及更多
2018/09/28 全球购物
POS解决方案:MUNBYN(热敏打印机、条形码扫描仪)
2020/06/09 全球购物
写好求职应聘自荐信的三部曲
2013/09/21 职场文书
医学院毕业生自荐信
2013/11/08 职场文书
大三毕业自我鉴定
2014/01/15 职场文书
mysql 如何获取两个集合的交集/差集/并集
2021/06/08 MySQL
javascript函数式编程基础
2021/09/15 Javascript