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模块的使用的更多相关文章

  1. npm 私有模块的管理使用

    你可以使用 NPM 命令行工具来管理你在 NPM 仓库的私有模块代码,这使得在项目中使用公共模块变的更加方便. 开始前的工作 你需要一个 2.7.0 以上版本的 npm ,并且需要有一个可以登陆 np ...

  2. node.js学习(三)简单的node程序&&模块简单使用&&commonJS规范&&深入理解模块原理

    一.一个简单的node程序 1.新建一个txt文件 2.修改后缀 修改之后会弹出这个,点击"是" 3.运行test.js 源文件 使用node.js运行之后的. 如果该路径下没有该 ...

  3. ES6模块import细节

    写在前面,目前浏览器对ES6的import支持还不是很好,需要用bable转译. ES6引入外部模块分两种情况: 1.导入外部的变量或函数等: import {firstName, lastName, ...

  4. Python标准模块--ContextManager

    1 模块简介 在数年前,Python 2.5 加入了一个非常特殊的关键字,就是with.with语句允许开发者创建上下文管理器.什么是上下文管理器?上下文管理器就是允许你可以自动地开始和结束一些事情. ...

  5. Python标准模块--Unicode

    1 模块简介 Python 3中最大的变化之一就是删除了Unicode类型.在Python 2中,有str类型和unicode类型,例如, Python 2.7.6 (default, Oct 26 ...

  6. Python标准模块--Iterators和Generators

    1 模块简介 当你开始使用Python编程时,你或许已经使用了iterators(迭代器)和generators(生成器),你当时可能并没有意识到.在本篇博文中,我们将会学习迭代器和生成器是什么.当然 ...

  7. 自己实现一个javascript事件模块

    nodejs中的事件模块 nodejs中有一个events模块,用来给别的函数对象提供绑定事件.触发事件的能力.这个别的函数的对象,我把它叫做事件宿主对象(非权威叫法),其原理是把宿主函数的原型链指向 ...

  8. 理解nodejs模块的scope

    描述 原文档地址:https://docs.npmjs.com/misc/scope 所有npm模块都有name,有的模块的name还有scope.scope的命名规则和name差不多,同样不能有ur ...

  9. nodejs模块发布及命令行程序开发

    前置技能 npm工具为nodejs提供了一个模块和管理程序模块依赖的机制,当我们希望把模块贡献出去给他人使用时,可以把我们的程序发布到npm提供的公共仓库中,为了方便模块的管理,npm规定要使用一个叫 ...

  10. 开始学nodejs——net模块

    net模块的组成部分 详见 http://nodejs.cn/api/net.html 下面整理出了整个net模块的知识结构,和各个事件.方法.属性的用法 net.Server类 net.Socket ...

随机推荐

  1. Linux命令之nohup 和 重定向

    用途:使运行的程序忽略SIGHUP. 语法:nohup Command [ Arg ... ] [ & ]描述:nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令 ...

  2. linux_jdk,zookeeper,kafka安装

    若是在虚拟机安装最好先进行下面的安装 1.1修改各个虚拟机主机名 vi /etc/sysconfig/network 1.2修改主机名和IP的映射关系 vi /etc/hosts 1.3关闭防火墙 # ...

  3. 用Qt写的简单屏保程序

    近日老大提别人家产品都有屏保程序,貌似我们也该有,简单在qtcn.org请教了一下,写了个小程序! 晕倒,半天没找到上传功能!我已经上传到qtcn上了,地址如下: http://www.qtcn.or ...

  4. Hibernate管理Session

    Hibernate自身提供了三种管理Session对象的方法 Session对象的生命周期与本地线程绑定 Session对象的生命周期与JTA事务绑定 Hibernate委托程序管理Session对象 ...

  5. Hibernate映射文件详解(News***.hbm.xml)一

    Hibernate是一个彻底的ORM(Object Relational Mapping,对象关系映射)开源框架. 我们先看一下官方文档所给出的,Hibernate 体系结构的高层视图: 其中PO=P ...

  6. mysql主从之主机名导致主从机制失败的问题

    一 主库 mysql主服务器的正确配置需要指定log-bin.log-bin-index server-id = 1 log-bin=master-bin log-bin-index = master ...

  7. Hadoop集群分布式安装

    一 整体介绍 1.1 硬件环境 本文使用三台服务器搭建hadoop集群,使用Centos7.5系统,服务器均有独立ip 1.2 部署的软件 部署服务:namenode(HA),resourcemana ...

  8. Java集合使用之next方法与remove方法 | Java集合使用之remove方法使用易错

    Iterator接口的remove方法将会删除上次调用next方法时返回的元素. next方法和remove方法的调用具有相互依赖性,如果调用remove方法前没有调用next方法是不合法的. 错误使 ...

  9. 「CH2601」 电路维修 解题报告

    CH2601 电路维修 描述 Ha'nyu是来自异世界的魔女,她在漫无目的地四处漂流的时候,遇到了善良的少女Rika,从而被收留在地球上.Rika的家里有一辆飞行车.有一天飞行车的电路板突然出现了故障 ...

  10. antDeaign-form-getFieldDecorator 使用注意事项

    2020-01-06 antDeaign-form-getFieldDecorator 使用注意事项 一.使用getFieldDecorator之前,必须先使用 Form.create({ })(Fo ...