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 风格 ...
 
随机推荐
- [远古回忆]发现了以前的一些wow截图 这里也备份一下
			
看邮箱里面通知 网易相册24号就停服了..赶紧找到以前的账号登录了进去瞅瞅 看看有什么重要的东西需要备份的 想不到发现了很多惊喜 虽然因为年代久远和网易相册提供的免费服务 很多文件图片和其他资料有接近 ...
 - Hello 2020D(多重集)
			
如果有一对时间对在某一场馆有时间重合而这一对时间对在另一场馆没有时间重合,则输出NO,否则输出YES. #define HAVE_STRUCT_TIMESPEC #include<bits/st ...
 - MySQL数学函数简明总结
			
1. ABS(x): 返回x的绝对值 mysql> select ABS(1), ABS(-1), ABS(0); +--------+---------+--------+| ABS(1) | ...
 - Python学习之面向对象进阶
			
面向对象进阶当然是要谈谈面向对象的三大特性:封装.继承.多态 @property装饰器 python虽然不建议把属性和方法都设为私有的,但是完全暴露给外界也不好,这样,我们给属性赋值的有效性九无法保证 ...
 - 前端开发CSS清除浮动的方法有哪些?
			
在前端开发过程中,非IE浏览器下,当容器的高度自动,并且容器内容中有浮动元素(float为left或right),此时如果容器的高度不能自适应内容的高度,从而使得内容溢出破坏整体布局,这种现象叫做浮动 ...
 - 原生js浏览器兼容性问题
			
1.HTML对象获取问题 FireFox:document.getElementById(“idName”); ie:document.idname或者document.getElementById( ...
 - linux 命令——screen
			
最近遇到一个东西aria2,这个玩意,这个是啥呢?Aria2是一个轻量级Linux下载软件,支持HTTP/HTTPS, FTP, SFTP, BitTorrent和磁力链接(官方版),公司系统插件配套 ...
 - 计算机二级-C语言-程序设计题-190112记录-结构体的遍历和结构体的数据的交换处理,文件的操作。
			
//程序设计题:学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把分数低的学生数据放在b所指的数组中,注意:分数最低的学生可能不止一个,函数返回 ...
 - java linux安装jdk,git, maven
			
jdk8下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html mkdir ...
 - unittest如何制作测试套件Testsuite 按method,class ,module,按命令行执行unittest
			
cmd 执行unittest case : python -m unitest test.py test2.py python -m unittest testfile.testclass.tes ...