正则表达式以及re模块的使用
内容概要
- 正则表达式简介
- 字符组
- 特殊符号
- 量词
- 贪婪匹配与非贪婪匹配
- 取消转义
正则表达式简介
'''正则表达式是一门语言,如果想在python中使用,需要导入re模块'''
# 什么是正则表达式?
利用一些特殊符号的组合去字符串中筛选出符合条件的数据
"""
1.必须是11位
2.必须是纯数字
3.必须符合手机号的排布 15 16 18 19
"""
# phone = input('请输入你的手机号>>>:').strip()
# if len(phone) == 11:
# if phone.isdigit():
# if phone.startswith('15') or phone.startswith('16') or phone.startswith('18') or phone.startswith('19'):
# print('手机号正确')
# else:
# print('格式不对')
# else:
# print('手机号必须是纯数字')
# else:
# print('必须是11位')
# 正则表达式
import re
while True:
phone = input('please input your phone number:')
if re.match('^(15|16|17|18)[0-9]{9}$', phone):
print('合法')
break
else:
print('格式不对')
字符组
'''
特征是使用中括号括起来,字符组默认只能单个单个字符匹配
'''
[0123456789] # 表示匹配中括号内任何一个数字
简写为 [0-9]
[a-z] # 匹配小写字母a到字母b其中任意一个字母
[A-Z] # 匹配大写字母A到字母Z其中任意一个字母
[a-zA-Z0-9] # 匹配所有数字 大小写字母
特殊符号
# 特殊符号默认也只能单个单个字符匹配
. '匹配'除了换行符之外的任意字符
\d 匹配纯数字
^ 匹配字符串的开始(判断是否以^后面的字符开头)
$ 匹配字符串的结尾(判断是否以$前面的字符结尾)
'''^与$组合使用可以精准限制要查找的数据'''
a|b 匹配a或者b
() 匹配括号内的表达式也表示一个组(不会影响正则表达式的匹配,只是单纯的分组)
[...] 匹配字符组中的字符
[^...] 取反,除了字符组内的字符,其它字符都可以识别
量词
1、表达式在没有量词修饰时,都是单个单个匹配的
2、量词必须与字符串或者特殊符号一起使用,不能单独使用
3、量词只能修饰它前一个字符或表达式,ab+ , 只表示b能重复一次或者无数次
* 重复零次或者更多次
+ 重复1次或者更多次
? 重复0次或者1次
{n} 重复n次
{n, } 重复n次或更多次
{n, m} 重复n次到m次
'''正则表达式中的量词默认都是“贪婪匹配”'''
贪婪匹配与非贪婪匹配
# 带匹配的字符串
<script>123</script>
# 正则表达式
<.*> '''默认贪婪匹配,尽可能多的匹配'''
匹配结果:<script>123</script>
# 将贪婪变为非贪婪,只需要在量词的后面加上问好即可
<.*?> '''非贪婪匹配,尽可能少的匹配,结束条件由左右两边决定'''
匹配结果:<script>,</script>
取消转义
在正常的原生表达式中,要取消转义字符只有一种方法,'\', --> 1、取消一个: '\\n', 取消两个: '\\\\n'
在python的环境中,还提供另一种快捷方便的方法: r'D:\n\r\a'
正则表达式以及re模块的使用的更多相关文章
- Python之正则表达式(re模块)
本节内容 re模块介绍 使用re模块的步骤 re模块简单应用示例 关于匹配对象的说明 说说正则表达式字符串前的r前缀 re模块综合应用实例 正则表达式(Regluar Expressions)又称规则 ...
- 【转】Python之正则表达式(re模块)
[转]Python之正则表达式(re模块) 本节内容 re模块介绍 使用re模块的步骤 re模块简单应用示例 关于匹配对象的说明 说说正则表达式字符串前的r前缀 re模块综合应用实例 参考文档 提示: ...
- 【Python爬虫】正则表达式与re模块
正则表达式与re模块 阅读目录 在线正则表达式测试 常见匹配模式 re.match re.search re.findall re.compile 实战练习 在线正则表达式测试 http://tool ...
- Python与正则表达式[0] -> re 模块的正则表达式匹配
正则表达式 / Regular Expression 目录 正则表达式模式 re 模块简介 使用正则表达式进行匹配 正则表达式RE(Regular Expression, Regexp, Regex) ...
- python 正则表达式re使用模块(match()、search()和compile())
摘录 python核心编程 python的re模块允许多线程共享一个已编译的正则表达式对象,也支持命名子组.下表是常见的正则表达式属性: 函数/方法 描述 仅仅是re模块函数 compile(patt ...
- 正则表达式之re模块
re模块一.什么是正则表达式与re模块?1.1 字符组1.2 元字符1.2.1 单个使用1.2.2 组合使用二.为什么要使用正则三.如何使用3.1 re模块的三种比较重要的方法3.1.1 findal ...
- python学习笔记(十)——正则表达式和re模块
#正则表达式和re模块 # match(pattern, string,[flag]) #在字符串开始时进行匹配 # pattern 正则表达式 # string 要匹配的字符串 # [flag] 可 ...
- python正则表达式之re模块方法介绍
python正则表达式之re模块其他方法 1:search(pattern,string,flags=0) 在一个字符串中查找匹配 2:findall(pattern,string,flags=0) ...
- python中的正则表达式(re模块)
一.简介 正则表达式本身是一种小型的.高度专业化的编程语言,而在python中,通过内嵌集成re模块,程序媛们可以直接调用来实现正则匹配.正则表达式模式被编译成一系列的字节码,然后由用C编写的匹配引擎 ...
- pytho day6 <正则表达式、常用模块、反射>
本节介绍: 一:正则表达式: 正则表达并不是python 独有的.在各个语言里都有该语法的介绍.正则表达是处理字符串的强大的处理工具.拥有自己的独特的 处理方法.和处理引擎.虽然性能没有python ...
随机推荐
- 解决MySQL服务器禁止远程连接的问题
1. 改表法. 可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 " ...
- SQL高级优化(五)之执行计划
一.explain 执行计划:在MySQL中可以通过explain关键字模拟优化器执行SQL语句,从而知道MySQL是如何处理SQL语句的. explain:MySQL执行计划的工具,查看MySQL如 ...
- Linux上天之路(三)之Linux系统目录
1. Linux设计思想 1) 程序应该小而专一,程序应该尽量的小,且只专注于一件事上,不要开发那些看起来有用但是90%的情况都用不到的特性: 2) 程序不只要考虑性能, 程序的可移植性更重要,she ...
- Linux上天之路(十)之Linux磁盘管理
主要内容 磁盘介绍 磁盘管理 磁盘限额 逻辑卷管理 磁盘阵列 1. 磁盘介绍 硬盘最基本的组成部分是由坚硬金属材料制成的涂以磁性介质的盘片,不同容量硬盘的盘片数不等.每个盘片有两面,都可记录信息.盘片 ...
- Go语言系列之标准库path/filepath
一.Path包 import "path" path实现了对斜杠分隔的路径进行操作的函数. func IsAbs(path string) bool // 判断是否是一个绝对路径 ...
- 编写程序向HBase添加日志信息
关注公众号:分享电脑学习回复"百度云盘" 可以免费获取所有学习文档的代码(不定期更新) 承接上一篇文档<日志信息和浏览器信息获取及数据过滤> 上一个文档最好做个本地测试 ...
- vue3.0+vite+ts项目搭建-axios封装(六)
封装方式一 import axios from 'axios' import qs from 'qs' import { Toast } from 'vant' import Lockr from ' ...
- 自动化集成:Pipeline整合Docker+K8S
前言:该系列文章,围绕持续集成:Jenkins+Docker+K8S相关组件,实现自动化管理源码编译.打包.镜像构建.部署等操作:本篇文章主要描述流水线集成K8S用法. 一.背景描述 分布式服务的部署 ...
- Java反射给泛型集合赋值
Java反射给泛型集合赋值 泛型 Java泛型简单描述下: 比如创建一个List集合,我想在里边只放Student对象信息,就需要写成 List<Student> studentList ...
- JVM完整详解:内存分配+运行原理+回收算法+GC参数等
不管是BAT面试,还是工作实践中的JVM调优以及参数设置,或者内存溢出检测等,都需要涉及到Java虚拟机的内存模型.内存分配,以及回收算法机制等,这些都是必考.必会技能. JVM内存模型 JVM内存模 ...