python学习day25 正则表达式
#事先说一下
- re模块本身是用来操作正则表达式,与正则本身没有关系
- 正则表达式是指一规则,匹配字符串的规则
1.正则表达式regex
- 正则表达式regex是指一规则,匹配字符串的规则,应用:
- 匹配字符串
- 表单验证
- 爬虫:从网页源码获取一些链接,重要数据
 
- 元字符
- 量词
1.规则
 1.1 基本匹配: 本身是哪一个字符,就匹配字符换中的哪一个字符
 1.2 字符组匹配[字符1字符2]规则: 一个字符组就匹配一个字符,只要这个字符出现在字符组内就会被匹配到
- 字符组可以使用范围,所有的范围必须遵循ascii码从小到大来指定
- 常用字符组范围[0-9]/[a-z]/[A-Z]/[a-zA-Z0-9]
 1.3 [0-9]==\d 所有的数字
 1.4 \d 与 [0-9] 与 [\d]无区别
2.元字符
- []字符组 只要在中括号之内的所有字符都符合匹配规则
- [^]非字符组 只要在中括号之内的所有字符都不符合匹配规则
- \d 数字(digit)
- \w 标识符(word)表示大小写字母,数字,下划线
- \s 空格(space),表示空格,换行符,table制表符
- \t (table) 仅仅制表符
- \n (next) 仅仅换行符
- \D 匹配非数字
- \w 匹配非大小写字母,数字,下划线
- \S 匹配非空格,换行符,table
- . 表示除了换行符的任意内容
- \取消转义, \ .表示只匹配 .
- [\d\D] 匹配任意字符
- 表示一个字符的开始:s表示只匹配开头的s
- $表示一个字符的结束:$e表示只匹配结束的e
- ^abc$ 同时出现字符串只能是abc
- | 表示或,注意如果两个规则有重叠部分,总是长的在前面,短的在后面
- (|)括号限制|的作用域, 例 :www.(baidu|google).com,只会作用域括号内
#帮助记忆#
\d \w \s \t(table) \n(next)
\D \W \S
.
[]   [^]
^    $
|   ()
3.量词
- \d{n} 数字n表示该原字符执行次数,且只能匹配这么多次 
- \d{n,}数字n表示该原字符至少出现n次 
- \d{n,m}数字n表示该原字符至少出现n次,至多出现m次 
- \d? ?表示匹配0次或者1次 ,比如小数点 
- \d+ +表示匹配1次或多次 
- \d * *表示匹配0次或多次 ,比如匹配整数或者小数 
- 匹配小数 - \d+(\.\d+)?
 #例:
 12.3432
 
3.1 默认贪婪匹配 ,总是在符合匹配规则的范围内尽可能多的匹配
3.2 非贪婪匹配,(惰性匹配):总是在符合匹配规则的范围内尽可能少的匹配
- 元字符 量词 ? x - 表示按照元字符规则在量词范围内匹配,一旦遇到x就停止 - .*?x 匹配任意字符,碰见x立即停止.
 
- ? 出现在量词之后表示非贪婪匹配 
身份证小练习
# 身份证号
# 15位  全数字 首位不为0
# 18位  前17位全数字 首位不为0  最后一位可能是x和数字
[1-9](\d{14}|\d{16}(\d|x))
[1-9](\d{16}[\dx]|\d{14})
[1-9]\d{14}(\d{2}[\dx])?
python学习day25 正则表达式的更多相关文章
- [Python学习笔记]正则表达式总结
		常用缩写字符及其含义表格查询 缩写字符分类 含义 \d 0-9的任意数字 \D 除0-9的数字以外的任何字符 \w 任何字母.数字或下划线字符(可以认为是匹配"单词"字符) \W ... 
- Python学习 之 正则表达式
		1.简单的正则表达式 import re s=r'abc' re.findall(s,"aaaaaaaaaaaaaaa") #结果为[] re.findall(s,"ab ... 
- Python学习笔记——正则表达式入门
		# 本文对正则知识不做详细解释,仅作入门级的正则知识目录. 正则表达式的强大早有耳闻,大一时参加一次选拔考试,题目就是用做个HTML解析器,正则的优势表现得淋漓尽致.题外话不多讲,直接上干货: 1. ... 
- Python学习--16 正则表达式
		正则表达式是一种描述性的语言,用来匹配字符串.凡是符合规则的字符串,我们认为就是匹配了. 正则表达式并非Python独有的,它与语言无关.很多语言都支持正则表达式. 我们经常用正则表达式来匹配电子邮件 ... 
- python学习日记(正则表达式)
		定义 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配. Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式. re 模块使 Pyth ... 
- python学习笔记----正则表达式
		正则: regular expression 常用的场景: #正则的包 >>> import re #match:开头匹配,匹配到,返回一个匹配对象,否则返回None >> ... 
- python学习笔记——正则表达式regex
		1 概述 1.1 定义 本质是由一系列字符和特殊符号组成的字串,用来表示一定规则的某一类字符串. 1.2 特点 正则表达式是一个独立的技术,其在多种编程语言中使用. 在python语言中的正则表达式模 ... 
- Python学习 :正则表达式
		正则表达式 python 使用正则表达式(re)来进行匹配引擎搜索 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个“规则字符串” 关于正则表达式 ... 
- python 学习总结----正则表达式
		正则表达式 应用场景 - 特定规律字符串的查找,切割,替换 - 邮箱格式:URl,IP地址等的校验 - 爬虫项目中,特定内容的提取 使用原则 - 只要使用字符串等函数能解决的问题,就不要使用正则 - ... 
随机推荐
- Java学习--java中的集合框架、Collection接口、list接口
			与数组相比:1.数组的长度固定,而集合的长度可变2.数组只能通过下表访问元素,类型固定,而有的集合可以通过任意类型查找所映射的具体对象 java集合框架:collection(list序列,queue ... 
- SQL修改表结构
			--(1)向数据库Student表中添加Name字段 use MR_NXT alter table student add Name char(20) --(2)将Student表中Name的字段的数 ... 
- Web前端面试指导(十八):用纯CSS创建一个三角形的原理是什么?
			题目点评 三角形的图标在网页设计是很常见的,属于基本常识题,只要在练习做到过这个功能都能回答出来,可以把你做过的思路描述出来就可以了,本题的难易程度为简单 答题要点 1.采用的是均分原理 盒子都是一个 ... 
- 【javascript】javascript设计模式之单例模式
			单例模式: 定义:单例模式之所以这么叫,是因为它限制一个类只能有一个实例化对象. 实现方法:判断实例是否存在,如果存在则直接返回,如果不存在就创建了再返回.(确保一个类只有一个实例对象) 特点: 命名 ... 
- js如何获取response header信息
			信息转自网上 普通的请求JS无法获取,只有ajax请求才能获取到. $.ajax({ type: 'HEAD', // 获取头信息,type=HEAD即可 url : window.location. ... 
- CentOS6.5(3)----设置自己安装的程序开机自动启动
			CentOS6.5系统下设置自己安装的程序开机自动启动 方法1. 把启动程序的命令添加到 /etc/rc.d/rc.local 文件中,比如设置开机启动 mysqld: #!/bin/sh # # T ... 
- Single Number 数组中除了某个元素出现一次,其他都出现两次,找出这个元素
			Given an array of integers, every element appears twice except for one. Find that single one. Note:Y ... 
- SparseArray代替HashMap
			相信大家都明白,手机软件的开发不同于PC软件的开发,因为手机性能相对有限,内存也有限,所谓“寸土寸金”,可能稍有不慎,就会导致性能的明显降低.Android为了方便开发者,特意在android.uti ... 
- intellij idea下面安装热部署插件 JRebel 5.2
			之前一直是用的eclipse的JRebel,因为现在的公司用的是idea,于是尝试了在idea下面安装,把安装的过程中出现的问题记录下. 1.首先是在 idea里面install JRebel,Fil ... 
- Layui - Xtree 3.0 http://acmeworker.com/BlogContent?type=1038
			2018年1月11日升级 Layui - Xtree 3.0 此版本包含了前两个版本所有的功能,同时修复了一些问题,增加了一些功能,之前的版本可以直接抛弃啦!本次升级改动较多,参数也有所更改,尽量别直 ... 
