Python 正则表达式之 sub 和 subn函数的使用
re.sub() 函数的功能
re是reguler expressioin的缩写,表示正则表达式
sub 是 substitute 的缩写,表示替换:
re.sub是个正则表达式方面的函数,用来实现通过正则表达式,实现比普通字符串replace 更加强大的替换功能;
举个简单的例子:
如果输的字符串是inputstr = 'hello 111 world 111'
那么你可以通过
replaceStr = inputstr.replace('', '')
去换成
“hello 222 world 222” 但是如果输入 “hello 123 world 456“
而你想把123和456 ,都替换完成222(以及还有其他更多复杂的情况的时候)
那么就没法直接通过字符串的replace方法达到这一目的了
就需要借助re.sub() ,通过正则表达式,来实现这种相对比较复杂的字符串替换:
replacedStr = re.sub('\d+', '', inputStr)
当然实际情况中,会比这个例子更加复杂的多,其他各种复杂的特殊情况,就只剩通过re。sub()函数去实现如此复杂的替换功能了
所以, re.sub()de 含义、作用、功能就是:
对于输入一个字符串,利用正则表达式(的强大的字符串处理功能),去实现(相对复杂的)字符串中的处理,然后返回被替换后的字符串
re.sub()还支持各种参数,比如 count 指定要替换的个数等等
下面来详细讲解以下各个参数的含义
re.sub()函数的参数详解
re。sub() 共有五个参数
re.sub(pattern, repl, string, count = 8, flags = 0)
其中必须的三个参数:pattern, repl, string
两个可选参数: count, flags
Python 正则表达式之 sub 和 subn函数的使用的更多相关文章
- python 正则表达式 re.sub & re.subn
Grammar: re.sub(pattern, repl, string[, count]) 使用repl替换string中每一个匹配的子串后返回替换后的字符串.当repl是一个字符串时,可以使用\ ...
- $python正则表达式系列(2)——re模块常用函数
本文主要介绍正则re模块的常用函数. 1. 编译正则 import re p = re.compile(r'ab*') print '[Output]' print type(p) print p p ...
- 第11.23节 Python 中re模块的搜索替换功能:sub及subn函数
一. 引言 在<第11.3节 Python正则表达式搜索支持函数search.match.fullmatch.findall.finditer>重点介绍了几个搜索函数,除了搜索,re模块也 ...
- 关于Python正则表达式findall函数问题详解
关于Python正则表达式 findall函数问题详解 在写正则表达式的时候总会遇到不少的问题, 特别是在表达式有多个元组的时候.下面看下re模块下的findall()函数和多个表达式元组相遇的时候会 ...
- python正则表达式re
Python正则表达式: re 正则表达式的元字符有. ^ $ * ? { [ ] | ( ).表示任意字符[]用来匹配一个指定的字符类别,所谓的字符类别就是你想匹配的一个字符集,对于字符集中的字符可 ...
- Python正则表达式详解
我用双手成就你的梦想 python正则表达式 ^ 匹配开始 $ 匹配行尾 . 匹配出换行符以外的任何单个字符,使用-m选项允许其匹配换行符也是如此 [...] 匹配括号内任何当个字符(也有或的意思) ...
- 比较详细Python正则表达式操作指南(re使用)
比较详细Python正则表达式操作指南(re使用) Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式.Python 1.5之前版本则是通过 regex 模块提供 E ...
- Python正则表达式学习摘要及资料
摘要 在正则表达式中,如果直接给出字符,就是精确匹配. {m,n}? 对于前一个字符重复 m 到 n 次,并且取尽可能少的情况 在字符串'aaaaaa'中,a{2,4} 会匹配 4 个 a,但 a{2 ...
- Python天天美味(15) - Python正则表达式操作指南(re使用)(转)
http://www.cnblogs.com/coderzh/archive/2008/05/06/1185755.html 简介 Python 自1.5版本起增加了re 模块,它提供 Perl 风格 ...
随机推荐
- DVWA全级别之Brute Force(暴力破解)
Brute Force Brute Force,即暴力(破解),是指黑客利用密码字典,使用穷举法猜解出用户口令. 首先我们登录DVWA(admin,password),之后我们看网络是否为无代理,: ...
- python+pygame制作一个可自定义的动态时钟和详解
1.效果图 2.完整代码 #第1步:导出模块 import sys, random, math, pygame from pygame.locals import * from datetime im ...
- html 中embed标签使用
代码如下: embed src=url 说明:embed可以用来插入各种多媒体,格式可以是 Midi.Wav.AIFF.AU.MP3.PDF.jpg等等,Netscape及新版的IE 都支持.url为 ...
- 使用Newtonsoft序列化对象,实现深拷贝
工作记录 深拷贝:全新创建一个对象,值与复制对象一致,两个对象互不相关,修改一个对象不会影响到另一个对象 浅拷贝:全新创建一个对象,值与复制对象一致,两个对象相关,修改一个对象影响到另一个对象 在工作 ...
- JS数组删除
--------------let items=['a','1',0,2,100,null,NaN,undefined,]; -------------要求以上数据执行后输出['1',0,2,100] ...
- js中的文本编辑器控件KindEditor
使用文本编辑器控件KindEditor渲染文本域页面显示 this.sync()同步KindEditor的值到textarea文本框 editor.isEmpty()判断文本域是否是空 editer. ...
- Yii2框架 常用函数整合
1.使用事务添加数据: public function create() { if($this->validate()) { $trans = Yii::$app->db->begi ...
- eclipse配置class注释模板
/** * Copyright (c) ${year}, All Rights Reserved. * */ ${filecomment} ${package_declaration} ${typec ...
- Flask笔记1
Flask笔记 首先明确一下,要运行一个动态网页,我们需要 一个 Web 服务器来监听并响应请求,如果请求的是静态文件它就直接将其返回,如果是动态 url 它就将请求转交给 Web 应用. 一个 We ...
- Yii2.0 引入外部js css
<script src="<?= Yii::$app->request->baseUrl . '/js/jquery-2.1.1.min.js'?>" ...