re模块3
#分组 ()
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的更多相关文章
- 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 ...
随机推荐
- JAVA面试题0 JAVA语言的基本知识
JAVA语言的特点是什么? >面向对象:两个基本概念:类和对象:三大基本特性:封装.继承.多态: >健壮性:java吸收了C/C++的优点,但是去掉了它们影响健壮性的部分,例如指针和内存申 ...
- python中pandas数据分析基础3(数据索引、数据分组与分组运算、数据离散化、数据合并)
//2019.07.19/20 python中pandas数据分析基础(数据重塑与轴向转化.数据分组与分组运算.离散化处理.多数据文件合并操作) 3.1 数据重塑与轴向转换1.层次化索引使得一个轴上拥 ...
- 吴裕雄--天生自然java开发常用类库学习笔记:多线程基础编程
class MyThread implements Runnable{ // 实现Runnable接口,作为线程的实现类 private String name ; // 表示线程的名称 public ...
- dedecms调用当前栏目的子栏目及子栏目文章
{dede:channelartlist} <ul> {dede:arclist titlelen='60' row='8'} <img src=" ...
- Python 中 对logging 模块进行封装,记录bug日志、日志等级
是程序产生的日志 程序员自定义设置的 收集器和渠道级别那个高就以那个级别输出 日志和报告的作用: 报告的重点在于执行结果(执行成功失败,多少用例覆盖),返回结果 日志的重点在执行过程当中,异常点,哪里 ...
- (转) Spring 3 报org.aopalliance.intercept.MethodInterceptor问题解决方法
http://blog.csdn.net/henuhaigang/article/details/13678023 转自CSDN博客,因为一个jar包没引入困扰我好长时间 ,当时正在做spring A ...
- python 第一节 脚本 import from reload exec
环境Ubuntu 14.04, 不写交互式命令行了,直接脚本开始. # first Python script import sys print(sys.platform) print(2**4) x ...
- U盘安装Debian KDE 输入法 Manjaro Linux WPS 字体
Manjaro: 首先下载Manjaro Linux,然后用USBWriter(https://pan.baidu.com/s/1bZGb5k)写入,重启选择USB启动. 更改软件仓库(Debian称 ...
- Day 15:缓冲输入输出常用方法和小练习
以拷贝图片为例子,演示异常处理的代码: 拷贝一张图片 import java.io.File;import java.io.FileInputStream;import java.io.FileOut ...
- HDU - 3068 最长回文(manacher算法)
题意:给出一个只由小写英文字符a,b,c...y,z组成的字符串S,求S中最长回文串的长度. 分析: manacher算法: 1.将字符串中每个字符的两边都插入一个特殊字符.(此操作的目的是,将字符串 ...