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 01 Python
在Python中操作字符串之replace()方法的使用
May 19 Python
在Python的Django框架中创建和使用模版
Jul 15 Python
python字符串,数值计算
Oct 05 Python
使用Python快速搭建HTTP服务和文件共享服务的实例讲解
Jun 04 Python
Python使用pymongo模块操作MongoDB的方法示例
Jul 20 Python
django ManyToManyField多对多关系的实例详解
Aug 09 Python
django重新生成数据库中的某张表方法
Aug 28 Python
如何基于python生成list的所有的子集
Nov 11 Python
Pandas 解决dataframe的一列进行向下顺移问题
Dec 27 Python
快速解释如何使用pandas的inplace参数的使用
Jul 23 Python
Matplotlib中rcParams使用方法
Jan 05 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自动获取目录下的模板的代码
2010/08/08 PHP
推荐十款免费 WordPress 插件
2015/03/24 PHP
php实现的数字验证码及数字运算验证码
2015/07/30 PHP
PHP与Ajax相结合实现登录验证小Demo
2016/03/16 PHP
PHP采用超长(超大)数字运算防止数字以科学计数法显示的方法
2016/04/01 PHP
PHP如何使用Memcached
2016/04/05 PHP
PHP实现移除数组中为空或为某值元素的方法
2017/01/07 PHP
ZendFramework2连接数据库操作实例
2017/04/18 PHP
javascript 获取页面的高度及滚动条的位置的代码
2010/05/06 Javascript
Bootstrap基础学习
2015/06/16 Javascript
纯js实现手风琴效果
2020/04/17 Javascript
JavaScript toUpperCase()方法使用详解
2016/08/26 Javascript
React Native实现简单的登录功能(推荐)
2016/09/19 Javascript
微信小程序 教程之事件
2016/10/18 Javascript
js判断iframe中元素是否存在的实现代码
2016/12/24 Javascript
浅谈关于axios和session的一些事
2017/07/13 Javascript
浅谈webpack打包过程中因为图片的路径导致的问题
2018/02/21 Javascript
Angular2之二级路由详解
2018/08/31 Javascript
angular5 子组件监听父组件传入值的变化方法
2018/09/30 Javascript
封装一下vue中的axios示例代码详解
2020/02/16 Javascript
Javascript作用域和作用域链原理解析
2020/03/03 Javascript
vue中defineProperty和Proxy的区别详解
2020/11/30 Vue.js
Python模块学习 datetime介绍
2012/08/27 Python
Python实现的几个常用排序算法实例
2014/06/16 Python
python enumerate函数的使用方法总结
2017/11/15 Python
分数霸榜! python助你微信跳一跳拿高分
2018/01/08 Python
Python实现Event回调机制的方法
2019/02/13 Python
Python list运算操作代码实例解析
2020/01/20 Python
CSS3美化表单控件全集
2016/06/29 HTML / CSS
基于css3仿造window7的开始菜单
2010/06/17 HTML / CSS
美国珠宝网上商店:Jeulia
2016/09/01 全球购物
专业实习自我鉴定
2013/10/29 职场文书
《美丽的彩虹》教学反思
2014/02/25 职场文书
销售人才自我评价范文
2014/09/27 职场文书
2016年感恩教师节校园广播稿
2015/12/18 职场文书
Django中session进行权限管理的使用
2021/07/09 Python