四、正则、

re模块:                                    

作用:针对的对象:字符串,

课前引入:

例子一、

s='dsdsadsadadsalexdsds'
s.find('alex')

  如何找到字符串内部的alex;?过去学习可使用方法:find、split、replace.但是字符串内置的方法很局限,只能实现完全匹配。

如果要找到:与a**开头的需求呢?就无法实现。要实现模糊匹配就得用到模糊匹配。

例子二、模糊匹配

#在文本里面存着一堆身份证
4504231989347382822
1104231989347382822
1104231992347382822
1104231995347382822
.....
#需求:找到北京市1990以后出身的人 ^110......1990+*

找到一堆字符串里面的数字:

  正则本质上是一种小型的,高度专业化的编程语言。(python)中内嵌在python中,并通过re模块来实现。正则表达式模式被编译成一系列的字节码,然后由用 C 编写的匹配引擎执行。

字符匹配:(普通字符、元字符)

普通字符:大多数字符和字母都会和自身匹配

 import re
 print(re.findall('alex','dsfjdsfldsjfdalexdsds')) >>> ['alex']

元字符:. ^ $ * + ?{} [] | () \

字符讲解:

1⃣️通配符 '.’

import re
print(re.findall('a..x','dsfjdsfldsjfdalexdsds')) >>>
['alex']

2⃣️、尖角号:^ 以什么开头。在字符串的开头进行匹配。如果符合要求匹配成功。

import re
print(re.findall('^d..j','dsfjdsfldsjfdalexdsds'))
>>>
['dsfj']

3⃣️、$ 符号  以什么结尾,

import re
print(re.findall('d..s$','dsfjdsfldsjfdalexdsds')) >>>>
['dsds']

重复符号:

4⃣️、*   (0,∞) D*按照紧挨着的字符进行无穷次→贪婪匹配,

import re
print(re.findall('d*','dsfjdsflddddddddddsjfdalexdsds')) >>>
['d', '', '', '', 'd', '', '', '', 'dddddddddd', '', '', '', 'd', '', '', '', '', 'd', '', 'd', '', '']
import re
print(re.findall('^d*','dsfjdsflddddddddddsjfdalexdsds'))
>>
['d']

day22、模块-basedir、os、json模块、pickle和正则模块。的更多相关文章

  1. 常用模块(random,os,json,pickle,shelve)

    常用模块(random,os,json,pickle,shelve) random import random print(random.random()) # 0-1之间的小数 print(rand ...

  2. python 模块二(os,json,pickle)

    #################################总结##################### os常用 os.makedirs('baby/安哥拉/特斯拉/黄晓明') os.mkd ...

  3. day16 常用模块 sys os json pickle

          知识点 os:和操作系统相关sys:和解释器相关 json:和操作JSON(一种数据交换格式)相关pickle:序列化 hashlib:加密算法Collections:集合类型       ...

  4. 第九节:os、sys、json、pickle、shelve模块

    OS模块: os.getcwd()获取当前路径os.chdir()改变目录os.curdir返回当前目录os.pardir()父目录os.makedirs('a/b/c')创建多层目录os.remov ...

  5. python json、 pickle 、shelve 模块

    json 模块 用于序列化的模块 json,用于字符串 和 python数据类型间进行转换 Json模块提供了四个功能:dumps.dump.loads.load #!/usr/bin/env pyt ...

  6. CSIC_716_20191118【常用模块的用法 Json、pickle、collections、openpyxl】

    序列化模块 序列化:将python或其他语言中的数据类型,转变成字符串类型. python中的八大数据类型回顾:int float str list tuple dict set bool 反序列化: ...

  7. (十四)json、pickle与shelve模块

    任何语言,都有自己的数据类型,那么不同的语言怎么找到一个通用的标准? 比如,后端用Python写的,前端是js,那么后端如果传一个dic字典给前端,前端肯定不认. 所以就有了序列化这个概念. 什么是序 ...

  8. os常用模块,json,pickle,shelve模块,正则表达式(实现运算符分离),logging模块,配置模块,路径叠加,哈希算法

    一.os常用模块 显示当前工作目录 print(os.getcwd()) 返回上一层目录 os.chdir("..") 创建文件包 os.makedirs('python2/bin ...

  9. 023--python os、sys、json、pickle、xml模块

    一.os模块 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 >>> os.getcwd() 'C:\\Python36' os.chdir(&quo ...

随机推荐

  1. google你懂得

    地址 https://github.com/racaljk/hosts

  2. vb小程序浅析

    系统 : Windows xp 程序 : BJCM10B 程序下载地址 :http://pan.baidu.com/s/1dFyXe29 要求 : 编写注册机 使用工具 : OD 可在看雪论坛中查找关 ...

  3. Android 媒体存储服务(二)

    Android 媒体存储服务 简介: 本文是<深入Android媒体存储服务>系列第二篇,简要介绍媒体存储服务扫描文件的流程.文中介绍的是 Android 4.2. Android 有一套 ...

  4. 重装Ubuntu16.04及安装theano

    一.卸载现有的ubuntu系统 1.下载MbrFix,并放在C盘根目录. 2.管理员身份运行cmd命令符:切换到C盘根目录,然后输入命令符MbrFix /drive 0 fixmbr,回车确认即可. ...

  5. html、url、http、servlet&jsp之间千丝万缕的联系

    html.url.http.servlet和jsp这五者一直是五位一体的关系,他们结合在一起就是对面向过程最好的解释. 客户端通过http超文本传输协议传输请求,服务器通过地址栏的url判断应该交给哪 ...

  6. Spring 的 NamedParameterJdbcTemplate(转)

    NamedParameterJdbcTemplate类是基于JdbcTemplate类,并对它进行了封装从而支持命名参数特性. NamedParameterJdbcTemplate主要提供以下三类方法 ...

  7. web安全之文件上传漏洞

    成因: 当文件上传时,若服务端脚本语言未对上传的文件进行严格验证和过滤,若恶意用户上传恶意的 脚本文件时,就有可能控制整个网站甚至是服务器,这就是文件上传漏洞. 权限: 1. 后台权限:登陆了后台,可 ...

  8. <a>标签的用法。

    1.创建电子邮件链接: <html> <head> <title>发给朱永成</title> </head> <body> &l ...

  9. ie6对hover兼容性问题的解决:

    ie6对hover兼容性问题的解决: 1,在body里添加以下样式: behavior:url(../scripts/csshover.htc); csshover.htc可直接在网上下载 2,js解 ...

  10. Ruby 方法

    Ruby 方法 Ruby 方法与其他编程语言中的函数类似.Ruby 方法用于捆绑一个或多个重复的语句到一个单元中. 方法名应以小写字母开头.如果您以大写字母作为方法名的开头,Ruby 可能会把它当作常 ...