#分组 ()
print(re.findall("(ad)/(vv)","adddad/vvdddddddddd"))
print(re.findall("(ad)/(d)","ad/ddad/vvdddddddddd"))
print(re.findall("(a)(d)","adddad/vvdddddddddd")) #分组中间要有个字母和特殊符号隔开
print(re.findall("(ad)/d(da)","ad/ddad/vvdddddddddd"))
print(re.search("(a)g(b)","adagbgdagbhagb").group())
print(re.findall("(a)g(b)","adagbgdagbh")) ret = re.search("(?P<id>\d{2}):(?P<name>\w{2})","25:a5")
print(ret.group()) #25:a5
print(ret.group("id")) #
print(ret.group("name")) #a5 print(re.search("a[bf]c","abcd").group()) #abc 字符串型
print(re.findall("a[bf]c","abcd")) #['abc'] 列表型 # |
print(re.findall("a|b","afbgh")) #['a', 'b'] 需要匹配所有的a和b
print(re.search("a|b","gaafbghagdbg").group()) #a 只需要匹配所有的a和b
print(re.search("(ab)|f","gaabfbghagdbg").group()) #ab print(re.search("\d|gg","ds125ffgg").group()) #1
 findall,match,search区别
print(re.findall("f","ffffffffgdsaadfasda12gtre5y7u")) #['ffffffff', 'f']  #匹配全部
print(re.search("f","gfffgdsaadfasda12gtre5y7u").group()) #f 匹配一个
print(re.match("a","gabd").group()) #a 只在开头匹配如果开头没有就会报错 “NoneType” | 相当于在findall中的"^a"
print(re.split("[ab]","abcg"))  #['', '', 'cg']
print(re.split("[ab]","habg")) #['h', '', 'g'] print(re.sub("\d","abc","aa5mm6nn7ff")) #第一个是最右边要替换的位置,中间是替换的内容
print("abcda".replace("a","kk",1)) #替换
print(re.sub("\d","b","ab1cdb2cd"))

rets = re.compile("\d{2}")  #编译
print(rets.search("av35ghd").group()) rett = re.finditer("\d","a1n2nm5") for i in rett:
print(next(rett).group())
print(re.findall("www.(baidu|oldbaidu).com","www.baidu.com")) #['baidu']
#会先匹配结果组里面的内容先返回 ,如果要得到全部结果需要取消权限
print(re.findall("www.(?:baidu|oldbaidu).com","www.baidu.com")) #['www.baidu.com']
 
 

  

 

re模块3的更多相关文章

  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. JAVA面试题0 JAVA语言的基本知识

    JAVA语言的特点是什么? >面向对象:两个基本概念:类和对象:三大基本特性:封装.继承.多态: >健壮性:java吸收了C/C++的优点,但是去掉了它们影响健壮性的部分,例如指针和内存申 ...

  2. python中pandas数据分析基础3(数据索引、数据分组与分组运算、数据离散化、数据合并)

    //2019.07.19/20 python中pandas数据分析基础(数据重塑与轴向转化.数据分组与分组运算.离散化处理.多数据文件合并操作) 3.1 数据重塑与轴向转换1.层次化索引使得一个轴上拥 ...

  3. 吴裕雄--天生自然java开发常用类库学习笔记:多线程基础编程

    class MyThread implements Runnable{ // 实现Runnable接口,作为线程的实现类 private String name ; // 表示线程的名称 public ...

  4. dedecms调用当前栏目的子栏目及子栏目文章

    {dede:channelartlist}   <ul>     {dede:arclist titlelen='60' row='8'}       <img src=" ...

  5. Python 中 对logging 模块进行封装,记录bug日志、日志等级

    是程序产生的日志 程序员自定义设置的 收集器和渠道级别那个高就以那个级别输出 日志和报告的作用: 报告的重点在于执行结果(执行成功失败,多少用例覆盖),返回结果 日志的重点在执行过程当中,异常点,哪里 ...

  6. (转) Spring 3 报org.aopalliance.intercept.MethodInterceptor问题解决方法

    http://blog.csdn.net/henuhaigang/article/details/13678023 转自CSDN博客,因为一个jar包没引入困扰我好长时间 ,当时正在做spring A ...

  7. python 第一节 脚本 import from reload exec

    环境Ubuntu 14.04, 不写交互式命令行了,直接脚本开始. # first Python script import sys print(sys.platform) print(2**4) x ...

  8. U盘安装Debian KDE 输入法 Manjaro Linux WPS 字体

    Manjaro: 首先下载Manjaro Linux,然后用USBWriter(https://pan.baidu.com/s/1bZGb5k)写入,重启选择USB启动. 更改软件仓库(Debian称 ...

  9. Day 15:缓冲输入输出常用方法和小练习

    以拷贝图片为例子,演示异常处理的代码: 拷贝一张图片 import java.io.File;import java.io.FileInputStream;import java.io.FileOut ...

  10. HDU - 3068 最长回文(manacher算法)

    题意:给出一个只由小写英文字符a,b,c...y,z组成的字符串S,求S中最长回文串的长度. 分析: manacher算法: 1.将字符串中每个字符的两边都插入一个特殊字符.(此操作的目的是,将字符串 ...