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 相关文章推荐
Win10下Python环境搭建与配置教程
Nov 18 Python
python shell根据ip获取主机名代码示例
Nov 25 Python
Python学生信息管理系统修改版
Mar 13 Python
python读取文本中数据并转化为DataFrame的实例
Apr 10 Python
python 使用 requests 模块发送http请求 的方法
Dec 09 Python
django的聚合函数和aggregate、annotate方法使用详解
Jul 23 Python
python脚本执行CMD命令并返回结果的例子
Aug 14 Python
python numpy实现多次循环读取文件 等间隔过滤数据示例
Mar 14 Python
使用Python防止SQL注入攻击的实现示例
May 21 Python
推荐值得学习的12款python-web开发框架
Aug 10 Python
python与c语言的语法有哪些不一样的
Sep 13 Python
matplotlib之多边形选区(PolygonSelector)的使用
Feb 24 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的FTP学习(一)
2006/10/09 PHP
基于wordpress主题制作的具体实现步骤
2013/05/10 PHP
thinkphp模板用法和内容输出实例
2014/11/28 PHP
PHP创建文件,并向文件中写入数据,覆盖,追加的实现代码
2016/03/25 PHP
Yii框架上传图片用法总结
2016/03/28 PHP
php通过执行CutyCapt命令实现网页截图的方法
2016/09/30 PHP
PHP实现创建一个RPC服务操作示例
2020/02/23 PHP
让浏览器非阻塞加载javascript的几种方法小结
2011/04/25 Javascript
JavaScript字符串对象charAt方法入门实例(用于取得指定位置的字符)
2014/10/17 Javascript
JavaScript学习笔记之JS事件对象
2015/01/22 Javascript
JavaScript中pop()方法的使用教程
2015/06/09 Javascript
javascript每日必学之封装
2016/02/23 Javascript
KnockoutJS 3.X API 第四章之表单value绑定
2016/10/10 Javascript
JS实现利用两个队列表示一个栈的方法
2017/12/13 Javascript
Angular HMR(热模块替换)功能实现方法
2018/04/04 Javascript
angular 实现下拉列表组件的示例代码
2019/03/09 Javascript
微信小程序模板消息限制实现无限制主动推送的示例代码
2019/08/27 Javascript
layui use 定义js外部引用函数的方法
2019/09/26 Javascript
JavaScript实现PC端横向轮播图
2020/02/07 Javascript
JS Web Flex弹性盒子模型代码实例
2020/03/10 Javascript
python数据库操作常用功能使用详解(创建表/插入数据/获取数据)
2013/12/06 Python
跟老齐学Python之网站的结构
2014/10/24 Python
python使用线程封装的一个简单定时器类实例
2015/05/16 Python
python协程用法实例分析
2015/06/04 Python
python django 访问静态文件出现404或500错误
2017/01/20 Python
Python 实现简单的shell sed替换功能(实例讲解)
2017/09/29 Python
使用Python实现一个栈判断括号是否平衡
2018/08/23 Python
python自定义函数实现最大值的输出方法
2019/07/09 Python
从多个tfrecord文件中无限读取文件的例子
2020/02/17 Python
IE浏览器单独写CSS样式的几种方法
2014/10/14 HTML / CSS
HTML5中Canvas与SVG的画图原理比较
2013/01/16 HTML / CSS
应届行政管理专业个人自我评价
2013/12/28 职场文书
环境科学专业优秀毕业生自荐书
2014/02/03 职场文书
工作失职检讨书500字
2014/10/17 职场文书
2016感恩父亲节主题广播稿
2015/12/18 职场文书
PyQt5结合QtDesigner实现文本框读写操作
2021/06/11 Python