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列表(list)、字典(dict)、字符串(string)基本操作小结
Nov 28 Python
python cx_Oracle的基础使用方法(连接和增删改查)
Nov 19 Python
Python 在OpenCV里实现仿射变换—坐标变换效果
Aug 30 Python
Python之指数与E记法的区别详解
Nov 21 Python
NumPy中的维度Axis详解
Nov 26 Python
Python字典生成式、集合生成式、生成器用法实例分析
Jan 07 Python
python爬虫开发之使用Python爬虫库requests多线程抓取猫眼电影TOP100实例
Mar 10 Python
python检查目录文件权限并修改目录文件权限的操作
Mar 11 Python
Python ATM功能实现代码实例
Mar 19 Python
Python3 hashlib密码散列算法原理详解
Mar 30 Python
django执行数据库查询之后实现返回的结果集转json
Mar 31 Python
用python对excel查重
Dec 07 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
文件上传程序的全部源码
2006/10/09 PHP
php+memcache实现的网站在线人数统计代码
2014/07/04 PHP
护卫神php套件 php版本升级方法(php5.5.24)
2015/05/10 PHP
PHP中的静态变量及static静态变量使用详解
2015/11/05 PHP
PHP实现对二维数组某个键排序的方法
2016/09/14 PHP
php app支付宝回调(异步通知)详解
2018/07/25 PHP
js 固定悬浮效果实现思路代码
2013/08/02 Javascript
javascript 小数取整简单实现方式
2014/05/30 Javascript
推荐JavaScript实现继承的最佳方式
2014/11/11 Javascript
jQuery中unwrap()方法用法实例
2015/01/16 Javascript
javascript框架设计之类工厂
2015/06/23 Javascript
浅谈javascript函数式编程
2015/09/06 Javascript
vue mixins组件复用的几种方式(小结)
2017/09/06 Javascript
VUE2实现事件驱动弹窗示例
2017/10/21 Javascript
Webpack中publicPath路径问题详解
2018/05/03 Javascript
详解创建自定义的Angular Schematics
2018/06/06 Javascript
vue.js 中使用(...)运算符报错的解决方法
2018/08/09 Javascript
CKEditor扩展插件:自动排版功能autoformat插件实现方法详解
2020/02/06 Javascript
JS中类的静态方法,静态变量,实例方法,实例变量区别与用法实例分析
2020/03/14 Javascript
基于原生js实现九宫格算法代码实例
2020/07/03 Javascript
vue中利用three.js实现全景图的完整示例
2020/12/07 Vue.js
Python脚本实现自动将数据库备份到 Dropbox
2017/02/06 Python
python3将视频流保存为本地视频文件
2018/06/20 Python
Python itertools.product方法代码实例
2020/03/27 Python
Django 用户登陆访问限制实例 @login_required
2020/05/13 Python
Scrapy基于scrapy_redis实现分布式爬虫部署的示例
2020/09/29 Python
CSS3 实现侧边栏展开收起动画
2014/12/22 HTML / CSS
Joules官网:女士、男士和儿童服装和鞋类
2018/10/23 全球购物
采用怎样的方法保证数据的完整性
2013/12/02 面试题
会计主管岗位职责
2014/01/03 职场文书
工程开工庆典邀请函
2014/02/01 职场文书
无犯罪记录证明
2014/09/19 职场文书
乡镇党建工作汇报材料
2014/10/27 职场文书
教学反思怎么写
2016/02/24 职场文书
mysql下的max_allowed_packet参数设置详解
2022/02/12 MySQL
如何通过简单的代码描述Angular父组件、子组件传值
2022/04/07 Javascript