re模块的使用
re模块下的函数
compile(pattern):创建模式对象
import re
pat = re.compile('D')
m = pat.search('CBA') #等价于re.search('A', 'ABC')
n = pat.search('BCD')
if m:
print("####")
if n:
print("****")
search(pattern,string):在字符串中寻找模式
m = re.search('asd','ASDasd')
print(m)
##<_sre.SRE_Match object at 0xb72cd6e8> #匹配到了,返回MatchObject(True)
n = re.search('asd','ASDASD')
print(n)
## None #没有匹配到,返回None(False)
match(pattern,string):在字符串开始处匹配模式
m = re.match('asd','asdasd')
print(m)
## <_sre.SRE_Match object at 0xb72cd6e8> #匹配到了,返回MatchObject(True)
n = re.match('asd','ASDASD')
print(n)
# 等价于
pat=re.compile('a')
print(pat.match('Aasd'))
print(pat.match('aASD'))
split(pattern,string):根据模式分割字符串,返回列表
re.split(',','a,s,d,asd')
## 返回列表['a', 's', 'd', 'asd']
#等价于
pat = re.compile(',')
pat.split('a,s,d,asd')
#返回列表['a', 's', 'd', 'asd']
re.split('[, ]+','a , s ,d ,,,,,asd') #正则匹配:[, ]+,后面说明
##返回列表['a', 's', 'd', 'asd']
re.split('[, ]+','a , s ,d ,,,,,asd',maxsplit=2) # maxsplit 最多分割次数
## 返回列表['a', 's', 'd ,,,,,asd']
pat = re.compile('[, ]+') #正则匹配:[, ]+,后面说明
pat.split('a , s ,d ,,,,,asd',maxsplit=2) # maxsplit 最多分割次数
## 返回列表['a', 's', 'd ,,,,,asd']
findall(pattern,string):列表形式返回匹配项
re.findall('a','ASDaDFGAa')
# ['a', 'a'] #列表形式返回匹配到的字符串
pat = re.compile('a')
pat.findall('ASDaDFGAa')
# ['a', 'a'] #列表形式返回匹配到的字符串
pat = re.compile('[A-Z]+') #正则匹配:'[A-Z]+'
pat.findall('ASDcDFGAa')
## ['ASD', 'DFGA'] #找到匹配到的字符串
pat = re.compile('[A-Z]')
pat.findall('ASDcDFGAa') #正则匹配:'[A-Z]+'
## ['A', 'S', 'D', 'D', 'F', 'G', 'A'] #找到匹配到的字符串
pat = re.compile('[A-Za-z]') #正则匹配:'[A-Za-z]+' 匹配所有单词,后面有说明
pat.findall('ASDcDFGAa')
sub(pat,repl,string) :用repl替换 pat匹配项
re.sub('a','A','abcasd') #找到a用A替换,后面见和group的配合使用
## 输出 'AbcAsd'
# 等价于
pat = re.compile('a')
pat.sub('A','abcasd')
## 输出'AbcAsd'
## 网址:https://www.zhihu.com/search?q=python%20re模块&utm_content=search_history&type=content(更详细)
re模块的使用的更多相关文章
- npm 私有模块的管理使用
你可以使用 NPM 命令行工具来管理你在 NPM 仓库的私有模块代码,这使得在项目中使用公共模块变的更加方便. 开始前的工作 你需要一个 2.7.0 以上版本的 npm ,并且需要有一个可以登陆 np ...
- node.js学习(三)简单的node程序&&模块简单使用&&commonJS规范&&深入理解模块原理
一.一个简单的node程序 1.新建一个txt文件 2.修改后缀 修改之后会弹出这个,点击"是" 3.运行test.js 源文件 使用node.js运行之后的. 如果该路径下没有该 ...
- ES6模块import细节
写在前面,目前浏览器对ES6的import支持还不是很好,需要用bable转译. ES6引入外部模块分两种情况: 1.导入外部的变量或函数等: import {firstName, lastName, ...
- Python标准模块--ContextManager
1 模块简介 在数年前,Python 2.5 加入了一个非常特殊的关键字,就是with.with语句允许开发者创建上下文管理器.什么是上下文管理器?上下文管理器就是允许你可以自动地开始和结束一些事情. ...
- Python标准模块--Unicode
1 模块简介 Python 3中最大的变化之一就是删除了Unicode类型.在Python 2中,有str类型和unicode类型,例如, Python 2.7.6 (default, Oct 26 ...
- Python标准模块--Iterators和Generators
1 模块简介 当你开始使用Python编程时,你或许已经使用了iterators(迭代器)和generators(生成器),你当时可能并没有意识到.在本篇博文中,我们将会学习迭代器和生成器是什么.当然 ...
- 自己实现一个javascript事件模块
nodejs中的事件模块 nodejs中有一个events模块,用来给别的函数对象提供绑定事件.触发事件的能力.这个别的函数的对象,我把它叫做事件宿主对象(非权威叫法),其原理是把宿主函数的原型链指向 ...
- 理解nodejs模块的scope
描述 原文档地址:https://docs.npmjs.com/misc/scope 所有npm模块都有name,有的模块的name还有scope.scope的命名规则和name差不多,同样不能有ur ...
- nodejs模块发布及命令行程序开发
前置技能 npm工具为nodejs提供了一个模块和管理程序模块依赖的机制,当我们希望把模块贡献出去给他人使用时,可以把我们的程序发布到npm提供的公共仓库中,为了方便模块的管理,npm规定要使用一个叫 ...
- 开始学nodejs——net模块
net模块的组成部分 详见 http://nodejs.cn/api/net.html 下面整理出了整个net模块的知识结构,和各个事件.方法.属性的用法 net.Server类 net.Socket ...
随机推荐
- 字符串format格式方式
1.format后面都是个元组类型!!! 不一一对应则报错,比如少了一个替换的元素,format可以少但是不能多,一多就会报错 括号里可以加索引,看例2 可以用索引只取一个值,比如括号里都是{1} r ...
- MySQL性能优化:MySQL中的隐式转换造成的索引失效
数据库优化是一个任重而道远的任务,想要做优化必须深入理解数据库的各种特性.在开发过程中我们经常会遇到一些原因很简单但造成的后果却很严重的疑难杂症,这类问题往往还不容易定位,排查费时费力最后发现是一个很 ...
- 泛圈科技Yottachain区块链云存储打破传统云迎来价值数据存储
随着物联网时代的发展,更多的数据随之产生.从智能设备到电脑再到视频游戏机,各种各样的信息从不同的电子产品源源不断地涌入.通常,人们将数据存储在本地驱动器中.但是,由于产生的数据量是无限的,超过了本地存 ...
- saltstack的配置使用
介绍 认证管理,使其可以用于编配, 远程执行, 配置管理等等.部署轻松,在几分钟内可运行起来,扩展性好,很容易管理上万台服务器,速度够快,服务器之间秒级通讯. 号称世界上最快的消息队列ZeroMQ使得 ...
- JVM探秘:垃圾收集器
本系列笔记主要基于<深入理解Java虚拟机:JVM高级特性与最佳实践 第2版>,是这本书的读书笔记. 垃圾收集器 垃圾收集算法是是内存回收的方法论,垃圾收集器是内存回收的具体实现.不同的虚 ...
- JVM探秘:垃圾收集算法
本系列笔记主要基于<深入理解Java虚拟机:JVM高级特性与最佳实践 第2版>,是这本书的读书笔记. 垃圾收集算法 垃圾收集算法主要有标记-清除算法.复制算法.标记-整理算法.分代收集算法 ...
- 基于Redis的分布式锁和Redlock算法
1 前言 前面写了4篇Redis底层实现和工程架构相关文章,感兴趣的读者可以回顾一下: Redis面试热点之底层实现篇-1 Redis面试热点之底层实现篇-2 Redis面试热点之工程架构篇-1 Re ...
- PythonI/O进阶学习笔记_9.python的生成器
content: 1. 什么是生成器 2. 生成器的实现 3. 生成器的应用 一.生成器简介 1.什么是生成器 在 Python 中,使用了 yield 的函数被称为生成器(genera ...
- 小小知识点(二十九)open access 和 classic access期刊出版形式分别指的是什么?
open access: 作者付费,读者免费获取方式:相当于你给所有读者买单,就是交钱让你的文章可免费下载,很显然文章的被引用几率机会会提高.对于那些追求他引的单位,个别作者就得出点银子了 class ...
- 开源API网关,你选对了么?
开源API网关,你选对了么? api网关的本质 不用扯那么多,也不用画图,一句话说清楚 api网关:流量总入口,得以集中控制! 就这么简单 api网关协议上最基本要支持HTTP 和 WebSocket ...