python中的re模块——正则表达式
re模块:正则表达式
正则表达式:为匹配字符
import re #导入re模块
#re.findall('正则表达式','被匹配字符') re模块下findall用法
在正则表达式中:
\w 表示匹配一个字母、数字、下划线
\W 匹配一个非字母、数字、下划线(小写w的取反)
\s \小写s匹配任意空白字符
\S 大写匹配任意非空白字符
\d 匹配任意数字字符
\D 匹配任意非数字字符
\n 只匹配换行符
\t 只匹配制表符
^或者\A 仅从开头匹配,若开头未匹配成功,则结束
$ 仅从尾部开始匹配
. 代表一个字符,任意字符,该字符是除换行符之外任意字符 re.DOTALL可以让. 匹配换行符
[] 匹配一个字符,该字符是我们自定义范围,[0-9]表示数字0-9中一个,[a-zA-Z]表示所有小写大写字母中一个,[=\-*/]表示加减乘除符号中任意一个\-表示转译的意思。
[^0-9] 同样表示取反的意思,非0-9
#重复匹配
? 匹配?左边那一个字符出现0或者1次,也就是左边字符有或者无都行
print(re.findall('ab?','a aba abb ab a ab'))
#匹配的结果是['a','ab','a','ab','ab','a','ab']
* 匹配*左边那个字符0到无穷次,只要*左边字符出现就取走
+ 匹配+左边一个字符出现1到无穷次
{n,m} 匹配左边字符出现n到m次,{n}指定n次数
.* 匹配任意0个到无穷个字符,贪婪匹配,匹配到最远的结束字符
.*? 匹配任意0个到无穷个字符,非贪婪匹配,匹配至最近的结束字符
| 或者,连接两个正则表达式 ('company|companies')
() 分组,普通分组compan(y|ies)匹配只保留括号内的内容,
但compan(?y|ies)则取消只保留括号内的内容,会匹配全部的内容
re.I 忽略大小写
re.M 以\n为分隔符,多行匹配
如果字符中有\ 'a\c aaa' 那在python语法中可写成
re.findall('a\\\\c','a\c aaa')
或者 re.findall(r'a\\c', 'a\c aaa')
re模块的其他用法
#re.search() 只要匹配一次成功就结束,该方法下有group用法
re.search() 有返回值
res = re.search()
res.group(0) 0表示全部, 1表示第一分组 2表示第二分组
#re.match()
re.match('abc') 等价于re.search('^abc')
表示只从该字符首开始
obj=re.compile('\d{2}')
print(obj.search('abc123eeee').group()) #
print(obj.findall('abc123eeee')) #['12'],重用了obj
python中的re模块——正则表达式的更多相关文章
- Python中的re模块--正则表达式
Python中的re模块--正则表达式 使用match从字符串开头匹配 以匹配国内手机号为例,通常手机号为11位,以1开头.大概是这样13509094747,(这个号码是我随便写的,请不要拨打),我们 ...
- 常用正则表达式与python中的re模块
正则表达式是一种通用的字符串匹配技术,不会因为编程语言不一样而发生变化. 部分常用正则表达式规则介绍: . 匹配任意的一个字符串,除了\n * 匹配任意字符串0次或者任意次 \w 匹配字母.数字.下划 ...
- Python中的random模块,来自于Capricorn的实验室
Python中的random模块用于生成随机数.下面介绍一下random模块中最常用的几个函数. random.random random.random()用于生成一个0到1的随机符点数: 0 < ...
- Python中的logging模块
http://python.jobbole.com/86887/ 最近修改了项目里的logging相关功能,用到了python标准库里的logging模块,在此做一些记录.主要是从官方文档和stack ...
- Python中的random模块
Python中的random模块用于生成随机数.下面介绍一下random模块中最常用的几个函数. random.random random.random()用于生成一个0到1的随机符点数: 0 < ...
- 浅析Python中的struct模块
最近在学习python网络编程这一块,在写简单的socket通信代码时,遇到了struct这个模块的使用,当时不太清楚这到底有和作用,后来查阅了相关资料大概了解了,在这里做一下简单的总结. 了解c语言 ...
- python中的StringIO模块
python中的StringIO模块 标签:python StringIO 此模块主要用于在内存缓冲区中读写数据.模块是用类编写的,只有一个StringIO类,所以它的可用方法都在类中.此类中的大部分 ...
- python中的select模块
介绍: Python中的select模块专注于I/O多路复用,提供了select poll epoll三个方法(其中后两个在Linux中可用,windows仅支持select),另外也提供了kqu ...
- python中的shutil模块
目录 python中的shutil模块 目录和文件操作 归档操作 python中的shutil模块 shutil模块对文件和文件集合提供了许多高级操作,特别是提供了支持文件复制和删除的函数. 目录和文 ...
随机推荐
- lvs三种模式的优缺点对比
电面只回答上来少部分,所以......恶补.总结
- wpf-x-指令元素
1. x:Code 用于代码前置 可以吧 C#代码内嵌到前端里 2. x:XData 用于内嵌xml 文件
- 剑指Offer 12. 数值的整数次方 (其他)
题目描述 给定一个double类型的浮点数base和int类型的整数exponent.求base的exponent次方. 题目地址 https://www.nowcoder.com/practice/ ...
- JAVA高级篇(四、JVM垃圾回收和调优)
本文转自https://zhuanlan.zhihu.com/p/25539690 JVM GC(垃圾回收机制) 在学习Java GC 之前,我们需要记住一个单词:stop-the-world .它会 ...
- <a>链接添加样式问题
<a>链接是内联元素,必须设置成块元素block,才能有 width 和 height,不过你可以又定义display:block再定义成 display:inline 这样可以避免在IE ...
- PythonStudy——名称空间 Name space
# 名称空间:就是名字与地址的对应关系,可以被Python解释器遍历查找,采用堆栈存储方式 # 三种名称空间# Built-in:内置名称空间:系统级,一个:随解释器执行而产生,解释器停止而销毁# G ...
- java_oop_方法2
基本和引用数据类型 存储方式 数据类型总结 jvm运行时数据区域 方法区 虚拟机栈! 本地方法栈 堆! 程序计数器 虚 ...
- html总结2
(1)选择器: 1.标签选择器:用于修饰同类HTML标签的共性风格 <style type="text/css"> li{ color:red; font-size:2 ...
- Docker之 数据持久化
容器中数据持久化主要有两种方式: 数据卷(Data Volumes) 数据卷容器(Data Volumes Dontainers) 数据卷 数据卷是一个可供一个或多个容器使用的特殊目录,可以绕过UFS ...
- SoundManager 2 / API Demo and Code Examples
http://www.schillmania.com/projects/soundmanager2/