Python学习笔记——正则表达式
今天把之前学的正则表达式好好总结总结。
一、元字符
. : .表示可以匹配任意一个字符
\d : \d表示可以匹配任意一个数字
\D : \D表示可以匹配任意一个非数字
\s : \s表示可以匹配任意一个空白字母
\S : \S表示可以匹配任意一个非空白字母
\w : \w表示可以匹配任意一个字符
\W: \W表示可以匹配任意一个非字符
[] : []表示可以匹配括号中的任意的一个字符 例:[abc] , [a-z] , [^ab]
^ : ^表示只匹配字符串的开始部分 例:'^fdsfs'
$ : $表示只匹配字符串的末尾部分 例:'fdsfs$'
* : *表示重复上一个字符0次或者多次
+ : +表示重复上一个字符1次或者多次
? : ?表示重复上一个字符0次或者1次
{m,n} :{m,n}表示重复次数,最小重复m次,最大重复n次。 还可以{n}这么用,表示重复n次
非贪婪模式: 表示匹配时进行最短匹配。 用法为:在重复符后面添加一个?
二、常用函数
re.compile(pattern) 有一个参数表示模式串,也就是匹配规则。返回一个对象,通过对象可以调用相关函数。 函数的作用是将模式串编译,可以更快的匹配
re.match(pattern , str) 有两个参数,第一个表示模式串,第二个表示要匹配的字符串。开始部分匹配成功,返回一个对象
re.search(pattern, str) 有两个参数,第一个表示模式串,第二个表示要匹配的字符串。任意部分匹配成功,返回一个对象
re.findall(pattern, str) 有两个参数,第一个表示模式串,第二个表示要匹配的字符串。将所有匹配的字段保存到列表中,返回列表
re.sub(pattern,replace,str) 有三个参数,第一个表示模式串,第二个是要替换的字符串,第三个表示要被替换的字符串。返回列表。函数用于匹配要替换的字符串
re.subn 功能和sub类似,多一个返回值,为替换的个数
re.split(pattern,str) 有两个参数,第一个表示模式串,第二个表示要被分离的字符串。
re.I 属性,表示忽略大小写
re.M 属性,表示多行匹配
re.S 属性,表示可以匹配不可见字符
Python学习笔记——正则表达式的更多相关文章
- [Python学习笔记]正则表达式总结
常用缩写字符及其含义表格查询 缩写字符分类 含义 \d 0-9的任意数字 \D 除0-9的数字以外的任何字符 \w 任何字母.数字或下划线字符(可以认为是匹配"单词"字符) \W ...
- Python学习笔记——正则表达式入门
# 本文对正则知识不做详细解释,仅作入门级的正则知识目录. 正则表达式的强大早有耳闻,大一时参加一次选拔考试,题目就是用做个HTML解析器,正则的优势表现得淋漓尽致.题外话不多讲,直接上干货: 1. ...
- python学习笔记----正则表达式
正则: regular expression 常用的场景: #正则的包 >>> import re #match:开头匹配,匹配到,返回一个匹配对象,否则返回None >> ...
- python学习笔记——正则表达式regex
1 概述 1.1 定义 本质是由一系列字符和特殊符号组成的字串,用来表示一定规则的某一类字符串. 1.2 特点 正则表达式是一个独立的技术,其在多种编程语言中使用. 在python语言中的正则表达式模 ...
- Python学习笔记基础篇——总览
Python初识与简介[开篇] Python学习笔记——基础篇[第一周]——变量与赋值.用户交互.条件判断.循环控制.数据类型.文本操作 Python学习笔记——基础篇[第二周]——解释器.字符串.列 ...
- Python学习笔记(十一)
Python学习笔记(十一): 生成器,迭代器回顾 模块 作业-计算器 1. 生成器,迭代器回顾 1. 列表生成式:[x for x in range(10)] 2. 生成器 (generator o ...
- Python学习笔记,day5
Python学习笔记,day5 一.time & datetime模块 import本质为将要导入的模块,先解释一遍 #_*_coding:utf-8_*_ __author__ = 'Ale ...
- 【目录】Python学习笔记
目录:Python学习笔记 目标:坚持每天学习,每周一篇博文 1. Python学习笔记 - day1 - 概述及安装 2.Python学习笔记 - day2 - PyCharm的基本使用 3.Pyt ...
- Python 学习笔记(上)
Python 学习笔记(上) 这份笔记是我在系统地学习python时记录的,它不能算是一份完整的参考,但里面大都是我觉得比较重要的地方. 目录 Python 学习笔记(上) 基础知识 基本输入输出 模 ...
随机推荐
- Maven找不到java编译器的问题
当使用mvn package打包项目的时候,抛出下面这个错误: [ERROR] Unable to locate the Javac Compiler in: D:\jdk\..\lib\tools. ...
- 【原创】Kmeans算法 优缺点分析
优点: 原理简单(靠近中心点),实现容易(1.2 天),聚类效果中上(依赖K的选择) 缺点: 1. 无法确定K的个数 (根据什么指标确定K) 2. 对离群点敏感 (容易导致中心点偏移) 3. 算法复杂 ...
- hibernate--关联映射(多对一,一对一)
多对一 关联映射 --- many-to-one 场景:用户和组:从用户角度来,多个用户属于一个组(多对一 关联) 使用hibernate开发的思路:先建立对象模型(领域模型),把实体抽取出来. 目前 ...
- kafka的环境搭建
kafka是一个高吞吐量的消息系统.隔离消息接收和处理过程(可理解为一个缓存) 1.kafka伪分布的部署 1.1.下载并解压 1.2.启动zk bin/zookeeper-server-start. ...
- iOS学习笔记: 使用CAShapeLayer创建带有空心区域的遮罩层
CAShapeLayer是用来接受矢量Path,直接使用GPU来进行渲染的特殊图层.看下面效果: 对应代码: let markLayer = CAShapeLayer(); markLayer.fra ...
- UVa 12169 (枚举+扩展欧几里得) Disgruntled Judge
题意: 给出四个数T, a, b, x1,按公式生成序列 xi = (a*xi-1 + b) % 10001 (2 ≤ i ≤ 2T) 给出T和奇数项xi,输出偶数项xi 分析: 最简单的办法就是直接 ...
- POJ 1904 King's Quest ★(强连通分量:可行完美匹配边)
题意 有n个女生和n个男生,给定一些关系表示男生喜欢女生(即两个人可以结婚),再给定一个初始匹配,表示这个男生和哪个女生结婚,初始匹配必定是合法的.求每个男生可以和哪几个女生可以结婚且能与所有人不发生 ...
- 关于Android Studio升级到2.0后和Gradle插件不兼容的问题
今天升级AS到2.0后,用AS在真机上调试,发现报了如下错误: This version of Android Studio is incompatible with the Gradle Plugi ...
- z-index的妙用
总是在纠结一个问题,当然我是前端初学者.这个问题就是,一个元素放在另一个元素里面,总希望它显示时,但是别撑开元素.这个时候一定要想到z-index. 例如今天写的一个浮动在导航栏下面的一个图片,我用的 ...
- winform实现自动更新并动态调用form实现
winform实现自动更新并动态调用form实现 标签: winform作业dllbytenull服务器 2008-08-04 17:36 1102人阅读 评论(0) 收藏 举报 分类: c#200 ...