转自:https://www.crifan.com/python_re_sub_detailed_introduction/

//这个网址讲的不错。

1.re.sub的功能

re是regular expression的缩写,表示正则表达式

sub是substitute的缩写,表示替换;

re.sub是个正则表达式方面的函数,用来实现通过正则表达式,实现比普通字符串的replace更加强大的替换功能;

inputStr = "hello 111 world 111"
replacedStr = inputStr.replace("", "")
//这样可以进行替换
inputStr = "hello 123 world 456"
replacedStr = re.sub("\d+", "", inputStr)
//这样可以把数字都换为222

对于输入的一个字符串,利用正则表达式(的强大的字符串处理功能),去实现(相对复杂的)字符串替换处理,然后返回被替换后的字符串.

2.re.sub的各个参数的详细解释

re.sub共有五个参数。

其中三个必选参数:patternreplstring

两个可选参数:countflags

2020-3-9————————————————

看自己以前写的博客,真是辣鸡。。。学的真是太不认真了。

1.小例子

import re
text="a\ncfoda!!"
text=re.sub(r"[^a-zA-Z0-9]"," ",text)
print(text) #输出:
a cfoda

可以发现,它会将换行符\n去掉,而且标点符号英文/中文都去掉了。

2.总体学习

https://github.com/ziishaned/learn-regex/blob/master/translations/README-cn.md

可以发现这个讲的非常详细!善用知乎。。。

https://www.runoob.com/python/python-reg-expressions.html

这个也讲的很全面。

import re
text="The car parked in the garage."
text=re.findall(r".ar",text)
print(text) #输出:
['car', 'par', 'gar']

是找到所有的。

import re
text="The car parked in the garage."
text=re.sub(r".ar","",text)
print(text) #输出:
The 233 233ked in the 233age.

sub是替换,学会了正则语法的规则和这两个函数基本就可了。

但是有一点奇怪,\是不用在{}前吗?。。。

import re
text="The {car} parked in the garage."
text=re.sub(r"\{\}","",text)
print(text)
#输出:
The {car} parked in the garage. text=re.sub(r"{","",text)
#输出:
The 233car} parked in the garage.
#这个倒是可以匹配上的

Py中re.sub学习【转载】的更多相关文章

  1. Py中axis理解【转载】

    转载:https://blog.csdn.net/yaoqi_isee/article/details/77714570 1.理解 numpy当中axis的值表示的是这个多维数组维度的下标,比如有一个 ...

  2. R中双表操作学习[转载]

    转自:https://www.jianshu.com/p/a7af4f6e50c3 1.原始数据 以上是原有的一个,再生成一个新的: > gene_exp_tidy2 <- data.fr ...

  3. Py中enumerate方法【转载】

    转自:http://www.runoob.com/python/python-func-enumerate.html enumerate(sequence, [start=0]) sequence - ...

  4. Py中查看数据类型【转载】

    转自:https://www.jianshu.com/p/bb5cc438e3b2 1.内置函数isinstance(object, (type1,type2...)) isinstance('con ...

  5. Java多线程学习(转载)

    Java多线程学习(转载) 时间:2015-03-14 13:53:14      阅读:137413      评论:4      收藏:3      [点我收藏+] 转载 :http://blog ...

  6. CNCC2017中的深度学习与跨媒体智能

    CNCC2017中的深度学习与跨媒体智能 转载请注明作者:梦里茶 目录 机器学习与跨媒体智能 传统方法与深度学习 图像分割 小数据集下的深度学习 语音前沿技术 生成模型 基于贝叶斯的视觉信息编解码 珠 ...

  7. [django]urls.py 中重定向

    Django 1.5 有时候需要对一个链接直接重定向,比如首页啥的重定向到一个内容页等等,在views.py 中可以设定,如果没有参数啥的在urls.py 中设定更加方面 from django.vi ...

  8. 图解BERT(NLP中的迁移学习)

    目录 一.例子:句子分类 二.模型架构 模型的输入 模型的输出 三.与卷积网络并行 四.嵌入表示的新时代 回顾一下词嵌入 ELMo: 语境的重要性 五.ULM-FiT:搞懂NLP中的迁移学习 六.Tr ...

  9. SqlServer中的merge操作(转载)

    SqlServer中的merge操作(转载)   今天在一个存储过程中看见了merge这个关键字,第一个想法是,这个是配置管理中的概念吗,把相邻两次的更改合并到一起.后来在technet上搜索发现别有 ...

随机推荐

  1. VS Code非英语版本连接TFS错误解决方案

    使用VS Code连接TFS时,提示以下错误: (team) It appears you have configured a non-English version of the TF execut ...

  2. 7.11js的总结

    <!DOCTYPE html> <html> <head> <title>js的内置全局函数</title> <script type ...

  3. D - Brave Game

    十年前读大学的时候,中国每年都要从国外引进一些电影大片,其中有一部电影就叫<勇敢者的游戏>(英文名称:Zathura),一直到现在,我依然对于电影中的部分电脑特技印象深刻. 今天,大家选择 ...

  4. Solr-全文检索工具简介

    一.Solr的简介 Solr 是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务.Solr可以独立运行在Jetty.Tomcat等这些Servlet容器中.都是W ...

  5. Xshell登录Ubuntu12.04

    Ubuntu安装ssh服务: sudo apt-get install openssh-server 打开Xshell,选择“新建”,“连接”设置里选择SSH,主机填入需要连接的主机的IP地址.在“用 ...

  6. springboot程序无法访问静态资源

    今天开发遇到了一个很奇葩的错误,再spngboot程序成功运行后发现无法访问再resouces/static下的静态资源,通过rul访问总是404,原因最终锁定在某配置类的一个标签上: @Enable ...

  7. python之文件操作的几种模式总结

    文件操作的几种模式: "w"                             #write ,清空写,生成一个新的文件,写入内容,覆盖原文件"w+"  ...

  8. oracle序列的增、删、改、查及使用

    ----------------------------------------------------------------------创建序列:示例:CREATE SEQUENCE SEQ_SS ...

  9. 【python基础】os.path模块常用方法详解

    os.path模块 主要用于文件的属性获取,在编程中经常用到,以下是该模块的几种常用方法. 更多的方法可以去查看官方文档:http://docs.python.org/library/os.path. ...

  10. java Web开发基础(一)工程项目文档结构

    2013年毕业后,在深圳工作开始是用.NET ASP.NET MVC做的项目,后来公司用java来做.于是就从.NET转java了.从.NET转java不是那么的难.今天刚好是清明节放假三天,整理了j ...