一、正则表达式

·1.正则表达式的应用场景: 应用特有的规则,给我需要的符合规则的字符串,在字符串中只有符合条件的才会被匹配和从大段的字符串中提取需要的数据

·匹配字符串的规则:

·1.字符串:用户输入,网络获取,文件读取​​

·表单注册

·爬虫​​:从网页中批量的额获取数据​

·2.正则语法

a.元字符:

·​ [ ] 字符组 表示一个位置上能出现的字符 [字符串] [0-9]/[a-z]/[A-Z] 表示范围

·[^ ]​ 非字符组

·. 除了换行符以外的​任意字符

·\w 代表数字字母下划线​​ (符合变量规则)

·\W 除了字母数字下划线​都可以匹配

·\d 表示[0-9]​

·\D 除了数字

·​\t Tab键 制表符

·\n Enter​

·' ' ​ 空格 空白符

·\s 空格,Tab,​​Enter

·\S 除了空格都能匹配到​

·\b 匹配的一个单词的两端​,放在字母前面就匹配首字母,放在字母后面就匹配尾字母

·​​ \B 除了两端都可以匹配到.匹配中间的字母

·^ 匹配一个字符串的开头

·$ 匹配一个字符串的结尾​​ ^字符串有多长$ 要匹配的字符串就有都多长

·a | b 或 有包含关系的字符串使用或较长的字符串放左边​

·() 分组​ 分组命名(?P<分组的名字>分组中的正则表达式)

·b.量词 (量词默认贪婪匹配(在规则内尽可能多的匹配),运用的是回溯算法,在量词后面放一个问号,就是非贪婪匹配(惰性匹配))

·{n} 重复至少n次

·? 匹配0次或者1次

·​​​​​ + 匹配至少一次

·* 匹配零次或者多次​

··re 模块

·​import re

·re.findall('正则表达式','待匹配字符串')​ 以列表的形式返回匹配的值,优先返回分组内的内容

·​​ret = re.search('正则表达式','待匹配字符串') 从左到右找到匹配的第一个​,通过group(分组的组号,来显示分组内的数据)

·​ret1 = ret.group() 读取获得的值 只有一项结果

·​re.match('正则表达式','待匹配字符串') 默认取第一个值,即强制在正则表达式之前加一个^​​,必须开头以其开始

·re.split('正则表达式',切割对象) 按照正则规则来切分​​ 在正则表达式外加括号就可以保留要切掉的对象

·re.sub('正则表达式',替换对象,要替换变量,替换次数) 按照正则规则替换,默认全部替换

·re.subn()​​ 全部替换 ,返回里面有替换的次数

·

·​re​​.compile('正则表达式') 对正则表达式进行预编译,返回一个编译后的表达式的字节码.在多次执行相同的正则表达式的时候,提前用他预编译,会提高效率

·​re.finditer() 会返回一个迭代器,节省内存

python兵器谱之re模块与正则表达式的更多相关文章

  1. Python基础之re模块(正则表达式)

    就其本质而言,正则表达式(或 RE)是一种小型的.高度专业化的编程语言,(在Python中)它内嵌在Python中, 并通过 re 模块实现.正则表达式模式被编译成一系列的字节码,然后由用 C 编写的 ...

  2. python基础13 ---函数模块3(正则表达式)

    正则表达式 一.正则表达式的本质 1.正则表达式的本质(或 RE)是一种小型的.高度专业化的编程语言,(在Python中)它内嵌在Python中,并通过 re 模块实现.正则表达式模式被编译成一系列的 ...

  3. Python 之 【re模块的正则表达式学习】

    摘要: re模块包括操作正则表达式的函数,一些工作中都需要用到,现在说明下使用方法. 使用说明: 一,re模块下的函数:            函数             描述 compile(pa ...

  4. python中的re模块和正则表达式基础

    1.正则匹配基础知识 (1)通配符. .只匹配一个字符 >>> re.findall("p.ckname","piiickname-pockname&q ...

  5. python 中的re模块,正则表达式

    一.re模块 re模块中常用的方法. match: 默认从字符串开头开始匹配,re.match('fun', 'funny') 可以匹配出来 'fun' match(pattern, string, ...

  6. (转)正则表达式与Python(RE)模块

    Python正则表达式指南  原文:http://blog.csdn.net/qdx411324962/article/details/46799831 Python3(2):正则表达式与Python ...

  7. python之路——常用模块

    阅读目录 认识模块 什么是模块 模块的导入和使用 常用模块一 collections模块 时间模块 random模块 os模块 sys模块 序列化模块 re模块 常用模块二 hashlib模块 con ...

  8. Python中的re模块--正则表达式

    Python中的re模块--正则表达式 使用match从字符串开头匹配 以匹配国内手机号为例,通常手机号为11位,以1开头.大概是这样13509094747,(这个号码是我随便写的,请不要拨打),我们 ...

  9. python常用模块(1):collections模块和re模块(正则表达式详解)

    从今天开始我们就要开始学习python的模块,今天先介绍两个常用模块collections和re模块.还有非常重要的正则表达式,今天学习的正则表达式需要记忆的东西非常多,希望大家可以认真记忆.按常理来 ...

随机推荐

  1. cocos2d在CCScrollView中嵌套CCMenu列表

    在cocos2d中,CCMenuItem经常被当做按钮使用.在有许多条目需要逐行显示,并且点击每个条目都触发对应的事件的需求下,最容易想到的是用CCScrollView嵌套CCMenu. 但默认情况下 ...

  2. 【Leetcode】【Medium】Construct Binary Tree from Inorder and Postorder Traversal

    Given inorder and postorder traversal of a tree, construct the binary tree. Note:You may assume that ...

  3. Going Deeper with Convolutions(Inception v1)笔记

    目录 Abstract Introduction First of All Inception Depth Related Work Motivation and High Level Conside ...

  4. July 02nd 2017 Week 27th Sunday

    No safe wading in an unknown water. 未知水深浅,涉水有危险. Is this the theory that has been the guideline for ...

  5. SAP成都研究院2018年总共87篇技术文章合集

    2018年很快就要结束了.Jerry在2017年年底准备开始写这个公众号时,给自己定的目标是:2018年至少保证每周发布一篇高质量的文章.如今2018年就快过去了,高质量与否需要大家来反馈,至少从量上 ...

  6. web服务器、app(应用)服务器、DB后端性能瓶颈和分析

    性能测试day07_性能瓶颈和分析 https://www.cnblogs.com/leixiaobai/p/9463748.html 其实如果之前都做的很到位的话,那么再加上APM工具(dynaTr ...

  7. 51nod 1837 砝码称重【数学,规律】

    题目链接:51nod 1837 砝码称重 小 Q 有 n 个砝码,它们的质量分别为 1 克. 2 克.……. n 克. 他给 i 克的砝码标上了编号 i (i = 1, 2, ..., n),但是编号 ...

  8. python date,datetime 和time的区别

    这是三个不同类型的数据,例如 2015-11-21 10:51:20: date是日期,表示的是 2015-11-21: datetime是日期时间,表示的是 2015-11-21 10:51:20: ...

  9. api的使用机制:继承、实例化、实现(继承)配置、实例(参数化)配置、机制管理模块

    api的使用机制:继承.实例化.实现(继承)配置.实例(参数化)配置.机制管理模块 facade模式.管理模块

  10. nbu异地备份实施前,数据收集日志

    1.修改bp.conf配置文件显示重删率 BPDBJOBS_COLDEFS = JOBID 5 true BPDBJOBS_COLDEFS = TYPE 7 false BPDBJOBS_COLDEF ...