什么是模块?

  为了编写可维护的代码,我们把很多的函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式,在Python中,一个.py文件就称为一个模块

模块的作用?

  使用模块的好处 大大提高了代码的可维护性 其次 编写代码不必从零开始 当一个模块编写完毕 就可以被其他地方引用 我们在编写程序的时候,也就经常使用其他模块 包括Python内置的模块和来自第三方的模块; 另外使用模块可以避免函数名和变量名冲突。

re模块

  re模块是python标准库(Python中已经定义好的)里面的一个模块,主要用于模糊查询,应用方面为WEB 、爬虫等; re 模块 就其本质而言,正则表达式(或re)是一种小型的,高度专业的编程语言,(在Python中) 它内嵌在Python中,并通过re模块实现,正则表达式模式被编译成一系列的字节码,然后由 C编写的匹配引擎执行。

  re模块使用元字符去匹配数据,元字符包括:

    .  通配符(可以匹配任意类型的数据)

    ^ 从开头开始匹配

    $ 结尾符 (返回以指定内容结尾的数据)

    * 匹配(0,+00)次

    + 匹配(1,+00)次

    ? 匹配(0,1)次

    {} 可以代替之前的三种情况 {0,}== * {1,}==+ {0,1}==?  {6}匹配重复6次

    [a-z]  表示范围 re.findall('q[a-z]', 'quojqkjhk') re.findall('q[a-z]*', 'quojqkjhk') 匹配多次 re.findall('q[^a-z]*', 'quojqkjhk') 匹配不是以q开头后面是字母的数据

     [xyz] 字符集 匹配字符集中的任何一个字符

    \  去掉转义 使元字符失去特殊功能

    () 分组 将()之间的内容定义为组,并且将匹配这个字符的表达式暂存在一个临时区域

     | 表示或运算

  反斜杠后边跟普通字符实现特功能:

      \d   匹配十进制数 它相当于类[0-9] 将每个数字分成单个方式展示 \d+ 可以展示十位数或者百位数
    \D     匹配任何非数字字符 它相当于类[^0-9]
    \s   匹配任何空白字符 它相当于类[\+\n\r\f\v]
    \S   匹配任何非空白字符 它相当于类[^\+\n\r\f\v]
    \w     匹配任何字母数字字符 它相当于类[a-zA-Z0-9_]
    \W  匹配任何非字母数字字符 它相当于类[^a-z A-Z 0-9_]
    \b   匹配一个特殊字符边界 比如空格 & #等

       r 或者 \\ 去掉特殊意义

  分组

    re.search("(?P<name>[a-z]+)\(?P<age>\d+)", "alex36wusir34xialv33").gruop('name')

   re模块使用的函数:

    

    findall() 把返回的结果放在列表中
   search() 函数在字符串内查找模式匹配 只找到第一个匹配然后返回一个对象
   search.gruop() 通过调用group()方法得到匹配的字符串 如果字符串没有匹配则返回空
   match() 匹配成功就返回一个对象 不成功就什么都不返回 与search 不同的是它只在开始位置进行匹配
   spilt() 按照指定的字符将带匹配对象进行分割 被分割的位置用空白代替
   sub() 用指定的字符去替换带替换的对象
      re.sub('\d+','A','jadsk56469adsdfsdf35464')

      re.sub('\d','A','jadsk56469adsdfsdf35464')

      re.sub('\d','A','jadsk56469adsdfsdf35464', 5)

      re.subn('\d', 'A', 'jafdsf2313asfdsd5534') 返回替换的结果和替换的次数

   compile() re.compile('') 编译想要匹配的规则 com=compile('\d+') com.findal('asdfds23asdf') 这样做可以使用多次

   finditer() 将返回结果存在迭代器中 使用的时候 next = re.finditer('\d','asfdds231dsfs') next(ret).group()    

   去优先级 re.findall('www\.(?:baidu|163)\.com', 'afsdfdsf.163.comsdafsdf')  

Python基础之re模块的更多相关文章

  1. 十八. Python基础(18)常用模块

    十八. Python基础(18)常用模块 1 ● 常用模块及其用途 collections模块: 一些扩展的数据类型→Counter, deque, defaultdict, namedtuple, ...

  2. Python基础-包与模块

    Python基础-包与模块 写在前面 如非特别说明,下文均基于Python3 摘要 为重用以及更好的维护代码,Python使用了模块与包:一个Python文件就是一个模块,包是组织模块的特殊目录(包含 ...

  3. python基础,函数,面向对象,模块练习

    ---恢复内容开始--- python基础,函数,面向对象,模块练习 1,简述python中基本数据类型中表示False的数据有哪些? #  [] {} () None 0 2,位和字节的关系? # ...

  4. python基础31[常用模块介绍]

    python基础31[常用模块介绍]   python除了关键字(keywords)和内置的类型和函数(builtins),更多的功能是通过libraries(即modules)来提供的. 常用的li ...

  5. python基础-包和模块

    Python基础-包与模块 写在前面 如非特别说明,下文均基于Python3 摘要 为重用以及更好的维护代码,Python使用了模块与包:一个Python文件就是一个模块,包是组织模块的特殊目录(包含 ...

  6. Python全栈开发之路 【第六篇】:Python基础之常用模块

    本节内容 模块分类: 好处: 标准库: help("modules") 查看所有python自带模块列表 第三方开源模块: 自定义模块: 模块调用: import module f ...

  7. Python基础入门-os模块

    今天我们来介绍一下os模块中常用的一些方法,当然python中的os模块中提供的使用方法有很多,但是这里面小编会列举出来一些和实际工作中应用的相关的方法,而且会有一些实际的例子方便大家对os模块理解. ...

  8. python基础,导入模块,if语句,while语句

    python基础 python代码 变为字节码 变为机器码 最后执行执行‘文件名.py’文件时出现的‘文件名.pyc’文件为字节码 缓存机制 使用pycharm的时候在文件最开始添加下面这两行代码,中 ...

  9. Python 基础之re 模块

    Python 基础之大话 re 在使用re模块中主要会用到一下几个方法: re.match() #从头匹配一个字符串 re.search() #浏览全部字符串,匹配第一个符合规则的字符串 re.fin ...

  10. python基础之os模块操作

    # os模块 目录相关内置库import os# . 当前目录 .. 返回上一级目录# 1. os.path.abspath() --获取当前文件的绝对路径(不包含os模块.py) pwd# path ...

随机推荐

  1. vue css背景图片打包后路径问题

    limit,代表如果小于大约4k则会自动帮你压缩成base64编码的图片,否则拷贝文件到生产目录 name,后面是打包后的路径: loader,后面 limit 字段代表图片打包限制,这个限制并不是说 ...

  2. java程序初体验

    示例代码 class Demo { public static void main(String[] args) { System.out.print("hello world") ...

  3. Ubuntu重装VMwareTools

    直接copy过来的虚拟机有问题所以需要重装. 先卸载老的: 1,进入到/usr/bin目录,执行脚本sudo vmware-uninstall-tool.pl 2,在安装前把/usr/lib/vmwa ...

  4. Altium Designer 10如何导出SMT加工信息和BOM元件清单

    要委托工厂进行SMT加工,需要向工厂提供表贴元器件的位置信息(Pick Place),这些信息可以由csv保存下来. 步骤如下: 一.设定坐标原点,一般设为板子左下角,在Keepout划线的顶点处. ...

  5. ES6模板字符串之标签模板

    首先,模板字符串和标签模板是两个东西. 标签模板不是模板,而是函数调用的一种特殊形式.“标签”指的就是函数,紧跟在后面的模板字符串就是它的参数. 但是,如果模板字符串中有变量,就不再是简单的调用了,而 ...

  6. element-ui隐藏组件scrollbar的使用

    话不多说,直接上图 总结:el-scrollbar组件设置高度100%包裹住需要滚动的dom结构即可. 再例如: 至于配置props,参见源码https://github.com/ElemeFE/el ...

  7. 把一个给定的值存储到一个整数中指定的几个位《C与指针5.8.5》

    编写一个函数,把一个给定的值存储到一个整数中指定的几个位.它的原型如下: int store_bit_field(int original_value, int value_to_store, uns ...

  8. [ 随手记 4 ]C/C++ 模板(Template)使用/重载区别

    (原创)个人理解: 模板,故名思义,就是一个模子: 模板分为:类模板和函数模板(也可叫模板类和模板函数): 模板特点:(1)函数名字一样: (2)调用的形参的数据类型不同,但形参个数相同: (3)函数 ...

  9. UNION ALL 心得

    TABLE_A 表 UNION ALL TABLE_B 表 UNION 或者 UNION ALL 之后 1.字段长度 必须相同  (如A 10 个列,则B 也要10个列) 2.查询条件也要相同  (A ...

  10. JVM垃圾收集器-Serial收集器

    今天我给大家分享的是Serial收集器,垃圾收集器就是内存回收的具体实现.Java虚拟机规范中对垃圾收集器应该如何实现并没有任何规定,因此不同的厂商,不同的版本的虚拟机所提供的垃圾收集器都可能会有很大 ...