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实现BT种子和磁力链接的相互转换
Nov 09 Python
Flask框架的学习指南之开发环境搭建
Nov 20 Python
python中requests小技巧
May 10 Python
python虚拟环境的安装配置图文教程
Oct 20 Python
对python中的pop函数和append函数详解
May 04 Python
python3 实现对图片进行局部切割的方法
Dec 05 Python
Python制作微信好友背景墙教程(附完整代码)
Jul 17 Python
python从list列表中选出一个数和其对应的坐标方法
Jul 20 Python
Python变量、数据类型、数据类型转换相关函数用法实例详解
Jan 09 Python
Python求平面内点到直线距离的实现
Jan 19 Python
Python绘制K线图之可视化神器pyecharts的使用
Mar 02 Python
Python简易开发之制作计算器
Apr 28 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
php4的session功能评述(一)
2006/10/09 PHP
深入PHP中慎用双等于(==)的详解
2013/06/06 PHP
PHP 数组遍历foreach语法结构及实例
2016/06/13 PHP
PHP 输出缓冲控制(Output Control)详解
2016/08/25 PHP
javascript编程起步(第五课)
2007/01/10 Javascript
Javascript中判断变量是数组还是对象(array还是object)
2013/08/14 Javascript
jQuery实现自定义事件的方法
2015/04/17 Javascript
javascript数组去重的六种方法汇总
2015/08/16 Javascript
jQuery使用$.ajax进行即时验证实例详解
2015/12/11 Javascript
谈谈JavaScript中的几种借用方法
2016/08/09 Javascript
JS函数多个参数默认值指定方法分析
2016/11/28 Javascript
vue.js实现含搜索的多种复选框(附源码)
2017/03/23 Javascript
vue2.0实现分页组件的实例代码
2017/06/22 Javascript
jQuery实现一个简单的验证码功能
2017/06/26 jQuery
nodejs 搭建简易服务器的图文教程(推荐)
2017/07/18 NodeJs
Node.js学习之TCP/IP数据通讯(实例讲解)
2017/10/11 Javascript
vue里面v-bind和Props 利用props绑定动态数据的方法
2018/08/27 Javascript
jQuery实现checkbox全选、反选及删除等操作的方法详解
2019/08/02 jQuery
Node.js之删除文件夹(含递归删除)代码实例
2019/09/09 Javascript
使用Webpack提升Vue.js应用程序的4种方法(翻译)
2019/10/09 Javascript
[44:40]Spirit vs Navi Supermajor小组赛 A组败者组第一轮 BO3 第一场 6.2
2018/06/03 DOTA
[10:18]2018DOTA2国际邀请赛寻真——找回自信的TNCPredator
2018/08/13 DOTA
[02:38]2018年度DOTA2最佳劣单位选手-完美盛典
2018/12/17 DOTA
python实现门限回归方式
2020/02/29 Python
python基于win32api实现键盘输入
2020/12/09 Python
德国最大的拼图在线商店:Puzzle.de
2016/12/17 全球购物
美国在线鞋类零售商:LifeStride
2019/06/09 全球购物
员工工作表现评语
2014/04/26 职场文书
税务干部群众路线教育实践活动自我剖析材料
2014/09/21 职场文书
购房协议书范本(无房产证)
2014/10/07 职场文书
老人与海读书笔记
2015/06/26 职场文书
大学生读书笔记范文
2015/07/01 职场文书
关于感恩的素材句子(38句)
2019/11/11 职场文书
mysql多表查询-笔记七
2021/04/05 MySQL
Python数据分析之绘图和可视化详解
2021/06/02 Python
Python中文分词库jieba(结巴分词)详细使用介绍
2022/04/07 Python