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.字符串:用户输 ...
随机推荐
- linux环境下redis数据库的安装|配置|启动
安装 下载:打开redis官方网站,推荐下载稳定版本(stable) 解压 tar zxvf redis-3.2.5.tar.gz 复制:推荐放到usr/local目录下 sudo mv -r red ...
- bayes公式 - 再从零开始理解
bayes公式与机器学习 - 再从零开始理解 从本科时候(大约9年前)刚接触Bayes公式,只知道P(A|B)×P(B) = P(AB) = P(B|A)×P(A) 到硕士期间,机器学习课上对P(B| ...
- Java base64 图片编码转换
package com.test; import org.junit.Test; import sun.misc.BASE64Decoder; import sun.misc.BASE64Encode ...
- JAVA操作字符串
package com.test; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /* ...
- 关于windows中在env中执行django-admin.py出现Access is denied.的解决办法
(ll_env) E:\python\learning_log>django-admin.pyAccess is denied. 这个是路径的问题,默认的文件获取路径没能正常获取文件 我使用绝对 ...
- Appium -选择、操作元素4
webvie的测试 混合(Hybrid)应用 一部分是原生界面和代码,而一部分是内嵌网页 比如微信.支付宝 内嵌了一个浏览器内核,由浏览器内核实现的 安卓应用中的内嵌的展示网页内容的模块,我们称之为w ...
- sql 日期格式
select CONVERT(varchar(10), getDate(),121) --不要时间2002-01-01 select CONVERT(varchar(10), getDate(),12 ...
- Linux MySQL 安装、远程访问和密码重置
安装: yum install mysql yum install mysql-server yum install mysql-devel 设置开机启动: chkconfig -add mysqld ...
- English-旅游英语及情景对话
1.旅游英语:预订机票情景对话及常用句型 目前,越来越多的人都选择以飞机为出行方式.但是如何用一口流利的英语订机票呢?这里我们替你总结了一些情景对话,还有一些常用的句型.大家都来学一学吧~A:Good ...
- aaad
I remember the wonderful moment you appeared before me, like a fleeting vision, like a genius of pur ...