re模块2
# 元字符+,*遇到?后就会变为贪婪匹配
print(re.findall('abc+?','abcccccc')) #['abc']
print(re.findall('abc*?','abcccccc')) #['ab']
print(re.findall('abc{1,4}','abcccabc')) #['abccc', 'abc']
print(re.findall('abc{1,4}?','abcccabc')) #['abcc', 'abc']
#---------------------------------------------------------------------
#元字符之字符集[] 在字符集里面有功能的字符 - ^ \
print(re.findall("[abc]","sdfgbahjkkk"))
#若是字符集的前后没有字母,就会分别匹配a,b,c ['b', 'a'],否在就字符集里选择一个字母和外面的连接使用
print(re.findall("a[a-z]","fwefaefewaasfwe")) #['ae', 'aa']
print(re.findall("a[.*+]","a.b*c+")) #在字符集里的符号就是普通符号 ['a.'] print(re.findall("[^ab]","fgddab")) #['f', 'g', 'd', 'd']
print(re.findall("[1-9]","vsd1fdv2sdvsd23")) #['1', '2', '2', '3']
print(re.findall("d[1-9]","vsd1fdv2sdvsd23")) #['d1', 'd2']
print(re.findall("[\d]","af1fsdf2ffsf1")) #['1', '2', '1']
print(re.findall("[1-9]","af1fsdf2ffsf1")) #['1', '2', '1']
print(re.findall("[^\W1-9a-z]","f我1e@f们21在ew2一%&e起1f")) #['我', '们', '在', '一', '起']
#^\W 就是去掉符号 再去掉数字和字母
#转义字符 \
#反斜杠后面跟元字符会失去特殊功能 如\*
print(re.findall("\*","vdv*vdd"))
print(re.findall("\.","vdf.v*vdd"))
print(re.findall("\?","vd?f.v*vdd"))
print(re.findall("\^","vdf.v*vd^d"))
print(re.findall("\[ab]","vdf.v*v[ab]dd"))
print(re.findall("\{2,3}","vdf.v*v{2,3}dd"))
print(re.findall("\$","vdf.v*v$dd"))
print(re.findall("\+","vdf.v+*vdd"))
反斜杠后边跟元字符去除特殊功能,比如\.
反斜杠后边跟普通字符实现特殊功能,比如\d \d 匹配任何十进制数;它相当于类 [0-9]。
\D 匹配任何非数字字符;它相当于类 [^0-9]。
\s 匹配任何空白字符;它相当于类 [ \t\n\r\f\v]。
\S 匹配任何非空白字符;它相当于类 [^ \t\n\r\f\v]。
\w 匹配任何字母数字字符;它相当于类 [a-zA-Z0-9_]。
\W 匹配任何非字母数字字符;它相当于类 [^a-zA-Z0-9_]
\b 匹配一个特殊字符边界,比如空格 ,&,#等
#反斜杠后面跟普通字母可以实现特殊功能 如\d \w \s \b
print(re.findall("\d","12f345fs56dsfs")) #只匹配数字
print(re.findall("[1-9]","12f345fs56dsfs"))
print(re.findall("[^\D]","12f345fs56dsfs"))
print(re.findall("[^a-z]","12f345fs56dsfs"))
#---------------------------------------------------------------------
print(re.findall("\D","12f345fs56dsfs")) #只匹配字母
print(re.findall("[a-z]","12f345fs56dsfs"))
print(re.findall("[^1-9]","12f345fs56dsfs"))
print(re.findall("[^\d]","12f345fs56dsfs"))
print(re.findall("\w","12f345fs56dsfs")) #匹配所有的字母和数字
print(re.findall("[^\W]","12f345fs.,56dsfs"))
print(re.findall("[1-9a-z]","12f345fs56dsfs"))
#---------------------------------------------------------------------
print(re.findall("\W","12f345f;'s56dsfs")) #匹配符号
print(re.findall("[^\w]","12f345fs,/56dsfs"))
print(re.findall("[^1-9a-z]","12f345fs,/56dsfs"))
#s 匹配空格
print(re.findall("[\s]","a bcd")) #[' ']
print(re.findall("[^\s]","abcd")) #['a', 'b', 'c', 'd']
print(re.findall("\S","abc d")) #['a', 'b', 'c', 'd']
print(re.findall("[^\s]","ff fse ")) #除了空格 ['f', 'f', 'f', 's', 'e']
print(re.findall("v\\\\h","sdv\hyu")) #匹配斜杠 ['v\\h']
print(re.findall(r"v\\h","sdv\hyu")) #匹配斜杠 ['v\\h']
# \b表示匹配一个特殊字符边界
print(re.findall(r"ber\b","sfsber\hj")) #匹配\b ber
print(re.findall(r"\bber","sfs:berhj")) #匹配\b ber
re模块2的更多相关文章
- 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 ...
随机推荐
- 014-查看PHP的环境变量
<?php print("你正在用文件的名字为: "); print(__FILE__); print(" <BR>\n"); print(& ...
- c++程序—选择结构
if(判断条件){执行语句} #include<iostream> using namespace std; #include<string> int main() { ; c ...
- CentOS 6.x 重置root 密码
1.重启,进入启动界面,快速按e,进入GNU GRUB界面. 2.选择第二项,按e,进行编辑. 3.在末尾输入1或single,回车,返回上一界面,还是选第二项,按b,进入单用户模式. 此时输入命令 ...
- mysql基本知识的总结
Mysql基本sql知识 Navicat快捷方式: 选中当前行 在行尾:shift+home 在行首:shift+end 执行当前行:ctrl+shift+R 复制当前行:ctrl+D 显示所有数据库 ...
- 2018年Android面试题含答案--适合中高级(下)(转)
这里是我整理出来的 面试题,答案我花了很久的时间.加上我自己的理解整理出来的,作者不易,请谅解.有答案的的:https://xiaozhuanlan.com/topic/6132940875 1. ...
- 025-PHP常用字符串函数(二)
<?php $text = "My dog's name is Angus."; //print Angus print(substr($text, , )."&l ...
- Linux 下 zip 文件解压乱码如何解决
作者:Latm Ake链接:https://www.zhihu.com/question/20523036/answer/35225920来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业 ...
- 六、React 键盘事件 表单事件 事件对象以及React中的ref获取dom节点 、React实现类似Vue的双向数据绑定
接:https://www.cnblogs.com/chenxi188/p/11782349.html 事件对象 .键盘事件. 表单事件 .ref获取dom节点.React实现类似vue双向数据绑定 ...
- 用cat写入
$ cat >> gzip_work.sh <<EOF > mkdir gzip/workshell > EOF
- 找《飘》 中最常用的N个单词。
找<飘> 中最常用的N个单词. 1,题目:输出单个文件(<飘> 英文版)中的前 N 个最常出现的英语单词,并将结果输入到文本文件中. 2,设计思路: 1),按行依次读取文件并按 ...