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 风格 ...
随机推荐
- fiddler抓包手机准备工作
1.勾选connections中的:Allow remote computers to connect 2.cmd中查找IP 3.在手机连接的WiFi中设置手动代理为:IP port:8888 4.在 ...
- jsp+servlet实现的验证登陆
可以将业务逻辑处理和视图相分离,使用jsp界面表示视图,使用servlet处理业务逻辑 login.jsp <%@ page language="java" contentT ...
- ubuntu的dpkg命令安装和卸载软件
实际使用中,可以先到网上下载deb文件,然后用dpkg命令来安装. sudo dpkg -l | grep 360 #查看包含360的软件sudo dpkg -i browser360-cn-stab ...
- 69-for和if的嵌套使用
#include <stdio.h> int main (void) { int i; ; ; i<=; ++i) { == )//%3==0 这个意思是i除以3,余数是0!说普通点 ...
- git和github的关系以及简单易懂的理解
git和github的关系 写在前面:我身边好多人问我git和github的区别,想必对于好多人没学过的大佬们恐怕也是一脸懵逼,但是不知道也是不行的,所以我今天就来讲一讲这二者的区别和联系. 用一 ...
- JS高级---原型的简单的语法
原型的简单的语法 构造函数,通过原型添加方法,以下语法,手动修改构造器的指向 实例化对象,并初始化,调用方法 <!DOCTYPE html> <html lang="en& ...
- iOS 音视频播放
播放控制切换为: ijkplayer wiki: https://github.com/changsanjiang/SJVideoPlayer/wiki/Use-ijkplayer 播放控制切换为: ...
- PHP固定长度字符串
/** * 获取固定长度随机字符串 * @param $n * @return string * @throws Exception */ function gf_rand_str($n) { if ...
- web开发中的一些不常见的概念
1.惊群 [活跃]星际争霸小王子 就是当你在车站时,一堆拉客的人一拥而上,想你坐他的车,于是就惊群了.但你只能坐一个车,所以没拉到你的就悻悻而归,于是return false[活跃]星际争霸小王 2 ...
- hbase60010端口无法访问web页面
原因:HBASE1.0之后的版本web端访问的接口变更为16010