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.字符串:用户输 ...
随机推荐
- Install Python on Mac (Anaconda)
Install Python on Mac (Anaconda) 标签(空格分隔): 运维 This blog is copy from the link: https://medium.com/@G ...
- 25.纯 CSS 创作一个慧星拖尾效果的 loader 动画
原文地址:https://segmentfault.com/a/1190000014916281 简化地址:https://codepen.io/pen/?editors=1100 HTML代码: & ...
- 下载,和scp上传问题
下载,和scp上传问题 wget http://download.openx.org/openx-2.8.10.zip [默认当前目录] scp ldm@192.168.1.150:/var/www ...
- poi excel 设置边框字体行高行宽
final HSSFSheet sheet = wb.createSheet(sheetName + "_" + n); System.out.println("s ...
- UDP通讯协议实例
1.服务端 import java.io.IOException; import java.net.*; public class UDPDemo { public static void main( ...
- 20165304 2017-2018-2 《Java程序设计》第3周学习总结
教材学习总结 类与对象学习总结 1.类:java作为面向对象型语言具有三个特性:①封装性.②继承性.③多态性.java中类是基本要素,类声明的变量叫对象.在类中定义体的函数题叫方法. 2.类与程序的基 ...
- poi excel
使用apache的poi包可以对excel进行操作读取和写入. 因excel分为xls的2003版和xlsx的2007版,poi在创建workbook时使用不同的类创建,因此需要注意区分xls. Wo ...
- UI5-学习篇-6-SAP创建OData服务-RFC
1.创建项目 2.Import RFC接口 3.定义实体名 目标服务器:若连接外部服务器则需SM59配置Destination 选择RFC函数名 4.选择数据源参数 5.设置主键值 6.保存成功 7. ...
- jquery循环方法
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 尚硅谷springboot学习21-web开发-处理静态资源
SpringBoot对静态资源的映射规则 @ConfigurationProperties(prefix = "spring.resources", ignoreUnknownFi ...