#事先说一下
- 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 正则表达式的更多相关文章

  1. [Python学习笔记]正则表达式总结

    常用缩写字符及其含义表格查询 缩写字符分类 含义 \d 0-9的任意数字 \D 除0-9的数字以外的任何字符 \w 任何字母.数字或下划线字符(可以认为是匹配"单词"字符) \W ...

  2. Python学习 之 正则表达式

    1.简单的正则表达式 import re s=r'abc' re.findall(s,"aaaaaaaaaaaaaaa") #结果为[] re.findall(s,"ab ...

  3. Python学习笔记——正则表达式入门

    # 本文对正则知识不做详细解释,仅作入门级的正则知识目录. 正则表达式的强大早有耳闻,大一时参加一次选拔考试,题目就是用做个HTML解析器,正则的优势表现得淋漓尽致.题外话不多讲,直接上干货: 1. ...

  4. Python学习--16 正则表达式

    正则表达式是一种描述性的语言,用来匹配字符串.凡是符合规则的字符串,我们认为就是匹配了. 正则表达式并非Python独有的,它与语言无关.很多语言都支持正则表达式. 我们经常用正则表达式来匹配电子邮件 ...

  5. python学习日记(正则表达式)

    定义 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配. Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式. re 模块使 Pyth ...

  6. python学习笔记----正则表达式

    正则: regular expression 常用的场景: #正则的包 >>> import re #match:开头匹配,匹配到,返回一个匹配对象,否则返回None >> ...

  7. python学习笔记——正则表达式regex

    1 概述 1.1 定义 本质是由一系列字符和特殊符号组成的字串,用来表示一定规则的某一类字符串. 1.2 特点 正则表达式是一个独立的技术,其在多种编程语言中使用. 在python语言中的正则表达式模 ...

  8. Python学习 :正则表达式

    正则表达式 python 使用正则表达式(re)来进行匹配引擎搜索 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个“规则字符串” 关于正则表达式 ...

  9. python 学习总结----正则表达式

    正则表达式 应用场景 - 特定规律字符串的查找,切割,替换 - 邮箱格式:URl,IP地址等的校验 - 爬虫项目中,特定内容的提取 使用原则 - 只要使用字符串等函数能解决的问题,就不要使用正则 - ...

随机推荐

  1. iOS开发之工具篇-20个可以帮你简化移动app开发流程的工具

    如果想进入移动app开发这个领域,你总能从别的开发者或者网上或者书上找到各种各样的方法和工具,对于新手来说,还没有摸清门路就已经陷入迷茫了.这里推荐20个可以帮你简化app开发流程的工具.很多开发者都 ...

  2. Oracle数据库基本操作(一) —— Oracle数据库体系结构介绍、DDL、DCL、DML

    一.Oracle数据库介绍 1.基本介绍 Oracle数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/ ...

  3. Inter网关做Team的方法

    1.到Inter官网上找到相关驱动程序 2.在安装过程中,要求勾选高级网络 3.驱动安装完成后,打开网卡的属性窗口,在“分组”选项卡中,勾中,并输入Team名称 4.选择需要做Team的网卡 5.选择 ...

  4. UOJ#172. 【WC2016】论战捆竹竿

    传送门 首先这个题目显然就是先求出所有的 \(border\),问题转化成一个可行性背包的问题 一个方法就是同余类最短路,裸跑 \(30\) 分,加优化 \(50\) 分 首先有个性质 \(borde ...

  5. 获取JPEGImageEncoder和JPEGCode这两个类

    最近要对PDF做一些操作,在查看别人代码,拿过来借用的时候,由于代码不完整,引用的类也不全,导致JPEGImageEncoder和JPEGCode这两个类找不到,后来网上搜索了下,发现这两个类来自于J ...

  6. C++创建一个新的进程

    原文:http://blog.csdn.net/hk627989388/article/details/53309865 STARTUPINFO用于指定新进程的主窗口特性的一个结构. PROCESS_ ...

  7. [C++]多线程: 教你写第一个线程

    原文:http://blog.csdn.net/cn_wk/article/details/62236057 hello thread! 声明线程A的端口号 #include <pthread. ...

  8. 工具Sequel Pro简介

    从图中可以看到,sequel工作界面主要分成三部分,左边侧边显示的是当前所连接的数据库中存在的数据表,右侧上半部分则是用于写sql的地方,在Mac环境下按command+R键会执行你所写的sql,右侧 ...

  9. CSS盒子模型中()是透明的,这部分可以显示背景()

    CSS盒子模型中()是透明的,这部分可以显示背景() border margin padding content 我的理解: ·       Margin(外边距) - 清除边框外的区域,外边距是透明 ...

  10. Mysql备份 -----innobackupex

    一,原理及介绍〇 xtrabackup能做哪些    对InnoDB引擎的表做热备    增量备份    流压缩传输到另外的服务器上    在线移动表    更简单的创建从库    备份时不增加服务器 ...