python模块部分 re模块 之正则表达式
python 全栈开发
1.什么是模块
2.正则表达式
一.什么是模块?
1.模块: 是一组功能的集合
你要和一个东西打交道,但是这个东西本身和python没有关系,这个东西本身就存在, 这时,python提供了一个功能的集合(模块),专门负责和这个东西打交道
2.模块的类型:
(1)内置模块: 不需要我们安装的,解释器自带的
(2)第三方模块: 需要我们自己安装的
(3)自定义模块: 我们自己写的模块
例如:
是谁把所有的硬件 管理起来的? 是操作系统.
文件 在硬盘上储存着,从硬盘上读文件.
这时,要引入模块:
import os (模块)
os.remove (删除文件)
os.rename (重命名文件)
模块实际上就是给我们提供功能, 这个要操作的内容本来就存在, 模块只不过是python提供给我们去操作这个内容的方法
二.正则表达式
re模块: 在python中使用正则表达式
1.正则表达式:是一种独立的规则,一种独立的语言.
2正则表达式的具体内容是什么?能做什么?
正则表达式:(1)从大段的文字中找到符合规则的内容(# 爬虫 从网页的字符串中获取你想要的数据 # 日志分析 提取 2018-8-12 10:---- 花的所有钱)
例:1,把一个文件中所有的手机号码都找出来
# open打开文件
# 读文件 str
# 从一长串的字符串中找到所有的11位数字
#一个字符一个字符的读
(2)判断某个字符串是否完全符合规则( # 表单验证 : 手机号 qq号码 邮箱 银行卡 身份证号 密码)
2.输入手机号码
# 验证这个手机号是否合法
# 给这个手机号发送一个验证码
# 用户收到验证码 填写验证码
# 完成注册
3.正则表达式:只和字符串打交道.
规则: 从字符串中找到符合规则的内容.
4.正则表达式主要内容:
(1)字符组: [] 写在中括号中的内容,都出现在下面的某一个字符的位置上都是符合规则的
[0-9] 匹配数字
[a-z] 匹配小写字母
[A-Z] 匹配大写字母
[a-zA-Z] 匹配大小写字母
[a-zA-Z0-9] 匹配大小写字母+数字
[a-zA-Z0-9_] 匹配大小写字母+数字+下划线
(2)元字符
\w : 匹配数字字母下划线 word关键字 [a-zA-Z0-9_]
\d : 匹配所有数字 digit [0-9]
\s : 匹配所有空白符 回车/换行符(\n) 制表符/ Tab键(\t) 空格(space)
\W,\D,\S 和 \w,\d,\s 取反
[\w\W], [\d\D], [\s\S] : 是三组全集,意思是匹配所有字符.
\b : 表示单词的边界
和转义字母相关的元字符: \w \d \s (\n \t) \b \W \D \S (ps;方便记忆的顺序)
^ : 匹配一个字符串的开始
$ : 匹配一个字符串的结束
. ; 表示匹配除了换行符之外的所有字符
[] : 只要出现在中括号中的内容都可以被匹配
[^] : 只要不出现在中括号中的内容都可以被匹配
有一些有特殊意义的元字符进入字符组中会回复它本来的意义 : . | [ ] ( )
a|b : (或) 符合a规则的或者b规则的都可以被匹配
如果a规则是b规则的一部分,且a规则比b规则要苛刻/长,就把a规则写在前面
将更复杂的\更长的规则写在最前面
() : 分组 表示给几个字符加上量词约束的需求的时候,就给这些量词分在一个组
(3)量词
{n} : 表示 这个量词之前的字符 出现了n次
{n,} : 表示 这个量词之前的字符 至少出现了n次
{n,m} : 表示 这个量词之前的字符 出现了n-m次
? : 表示 这个量词之前的字符 出现了0次或1次 表示可有可无
+ : 表示 这个量词之前的字符 出现了1次或多次
* : 表示 这个量词之前的字符 出现了0次或多次
相对练习题:
匹配整数: \d+
匹配小数: \d+\.\d+
匹配小数或者整数 :\d+\.\d+|\d+ 或 \d+(\.\d+)?
匹配身份证号码 : [1-9]\d{16}[\dx]|[1-9]\d{14} 或 [1-9]\d{14}(\d{2}[\dX])?
5.正则表达式的匹配特点:
贪婪匹配 : 它会在允许的范围内取最长的结果
非贪婪匹配/惰性匹配: 在量词的后面加上 ?
. * ? x : 匹配任意非换行符,任意长度,直到遇见x时就停止.
注: 转义符
在正则表达式中,有很多有特殊意义的是元字符,比如\d和\s等,如果要在正则中匹配正常的"\d"而不是"数字"就需要对"\"进行转义,变成'\\'。
print(r"\\n")
print(r"\n")
关于字符串挪到python中的转义的问题 : 只需要在工具中测试完毕,确认可以匹配上之后,挪到python中在字符串的外面加上r,r''即可
python模块部分 re模块 之正则表达式的更多相关文章
- Python模块之常用模块,反射以及正则表达式
常用模块 1. OS模块 用于提供系统级别的操作,系统目录,文件,路径,环境变量等 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("di ...
- Python中的re模块--正则表达式
Python中的re模块--正则表达式 使用match从字符串开头匹配 以匹配国内手机号为例,通常手机号为11位,以1开头.大概是这样13509094747,(这个号码是我随便写的,请不要拨打),我们 ...
- python常用模块(1):collections模块和re模块(正则表达式详解)
从今天开始我们就要开始学习python的模块,今天先介绍两个常用模块collections和re模块.还有非常重要的正则表达式,今天学习的正则表达式需要记忆的东西非常多,希望大家可以认真记忆.按常理来 ...
- python中的re模块——正则表达式
re模块:正则表达式 正则表达式:为匹配字符 import re #导入re模块 #re.findall('正则表达式','被匹配字符') re模块下findall用法 在正则表达式中: \w 表示匹 ...
- (转)正则表达式与Python(RE)模块
Python正则表达式指南 原文:http://blog.csdn.net/qdx411324962/article/details/46799831 Python3(2):正则表达式与Python ...
- vscode如何配置debug,python正则表达式如何匹配括号,关于python如何导入自定义模块
关于vscode如何配置debug的问题: 1.下载安装好python,并且配置好 环境变量 2.https://www.cnblogs.com/asce/p/11600904.html 3.严格按照 ...
- 常用正则表达式与python中的re模块
正则表达式是一种通用的字符串匹配技术,不会因为编程语言不一样而发生变化. 部分常用正则表达式规则介绍: . 匹配任意的一个字符串,除了\n * 匹配任意字符串0次或者任意次 \w 匹配字母.数字.下划 ...
- python中的re模块和正则表达式基础
1.正则匹配基础知识 (1)通配符. .只匹配一个字符 >>> re.findall("p.ckname","piiickname-pockname&q ...
- python兵器谱之re模块与正则表达式
一.正则表达式 ·1.正则表达式的应用场景: 应用特有的规则,给我需要的符合规则的字符串,在字符串中只有符合条件的才会被匹配和从大段的字符串中提取需要的数据 ·匹配字符串的规则: ·1.字符串:用户输 ...
随机推荐
- python 搭建redis集群
所需依赖 redis.io/download">redis-3.0.7ruby-1.8.7:sudo apt-get install rubyrubygems:sudo apt-get ...
- 关于thinkphp3.1无法加载模块解决办法
关于thinkphp3.1无法加载模块解决办法 如果没有具体的哪个模块的名字 请注意PHP的版本问题
- ubuntu 14.04 安装 Apache Thrift 0.10
1.到官网下载源码压缩文件 https://thrift.apache.org/download 2.安装依赖软件,可以参考 https://thrift.apache.org/docs/instal ...
- unzip
中文乱码问题: unzip -O CP936 filename
- opencv画出轮廓外接矩形
Mat cannyImage; /// Detect edges using canny Canny(src, cannyImage, , , ); vector<vector<Point ...
- nopi设置excel只读
- react-native Animated, 旋转动画
Animated 仅封装了四个可以动画化的组件: View.Text.Image.ScrollView 可以使用 Animated.createAnimatedComponent()来封装你自己的组件 ...
- delphi android 自动升级
用IdHTTP1下载文件到手机完成. 调用自动安装不行. First chance exception at $DFC22519. Exception class EJNIException with ...
- HTML学习-2标记标签-2
三.表单元素 ①<form></form>表单标签,代表表单 主要属性:1.action提交到的页面. 2.method数据提交方式(get显示提交,有长度限制.post隐 ...
- UI5-学习篇-9-本地Eclipse UI5应用发布到SAP前端服务器
参考路径: https://blogs.sap.com/2017/11/19/sap-fiori-ui5-application-deployment/ 1.准备环境 2.上载SAP-FIORI前端服 ...