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.字符串:用户输 ...
随机推荐
- 阿里云 putty链接服务器出现 server refused our key
阿里云 putty链接服务器出现 server refused our key 创建了密钥对绑定实例,puttygen生成ppk,putty配置参数,连接,一步一步来的,结果出现 server ref ...
- MySQL把文件导入表中
1. Mysql 把本地文件导入表中 drop table if exists wufangzhai_caigou_group; create table wufangzhai_caigou_grou ...
- 5. MYSQL问题:Access denied for user 'root'@'localhost' (using password:YES)
开发Web项目时,连接MYSQL数据库,出现问题:Access denied for user 'root'@'localhost' (using password:YES). 解决方案: ...
- python 如何获取当前文件/文件夹
python 如何获取当前文件/文件夹? 1.获取当前文件的实际路劲: os.path.realpath(__file__) ==> D:\python_test\test_p ...
- 企业应用--Nginx&web部署
一.Nginx介绍 Nginx (engine x) 是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP服务. Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler ...
- python中split()、os.path.split()函数用法
一.Python split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则仅分隔 num 个子字符串 str.split(str="", num=string ...
- ABAP-2-会计凭证批量数据导入本地ACCESS
ABAP-1-会计凭证批量数据导入本地ACCESS 上一版本出现问题: A.若TXT数据条目超过800万(大概1.3G),则将TXT导入ACCESS过程不成功,ACCESS数据表为空.(Access单 ...
- WDA-Webdynpro应用发布至EP
主要是记录下Webdynpro应用发布到EP端的整个操作过程. 1.系统管理System Administration 定义与后台应用系统R3的连接 1.1设置连接参数 路径:System Admin ...
- 页面ajax自带的访问后台时,正在加载中
ajax自带访问后台时,提示正在加载中,加载完成后自动消除遮罩层,代码如下: var mask=mui.createMask();//遮罩层 //传统ajax的post请求方式 mui.ajax('h ...
- Activity生命周期,切换,参数传递,bundle(包),值对象,Activity参数返回,Activity的启动模式
Activity代表手机屏幕的一屏,或是平板电脑中的一个窗口.它是android应用中最重要的组成单元之一,提供了和用户交互的可视化界面.在一个Activity中,可以添加很多组件,这些组件负责具体的 ...