python兵器谱之re模块与正则表达式
一、正则表达式
·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模块与正则表达式的更多相关文章
- Python基础之re模块(正则表达式)
就其本质而言,正则表达式(或 RE)是一种小型的.高度专业化的编程语言,(在Python中)它内嵌在Python中, 并通过 re 模块实现.正则表达式模式被编译成一系列的字节码,然后由用 C 编写的 ...
- python基础13 ---函数模块3(正则表达式)
正则表达式 一.正则表达式的本质 1.正则表达式的本质(或 RE)是一种小型的.高度专业化的编程语言,(在Python中)它内嵌在Python中,并通过 re 模块实现.正则表达式模式被编译成一系列的 ...
- Python 之 【re模块的正则表达式学习】
摘要: re模块包括操作正则表达式的函数,一些工作中都需要用到,现在说明下使用方法. 使用说明: 一,re模块下的函数: 函数 描述 compile(pa ...
- python中的re模块和正则表达式基础
1.正则匹配基础知识 (1)通配符. .只匹配一个字符 >>> re.findall("p.ckname","piiickname-pockname&q ...
- python 中的re模块,正则表达式
一.re模块 re模块中常用的方法. match: 默认从字符串开头开始匹配,re.match('fun', 'funny') 可以匹配出来 'fun' match(pattern, string, ...
- (转)正则表达式与Python(RE)模块
Python正则表达式指南 原文:http://blog.csdn.net/qdx411324962/article/details/46799831 Python3(2):正则表达式与Python ...
- python之路——常用模块
阅读目录 认识模块 什么是模块 模块的导入和使用 常用模块一 collections模块 时间模块 random模块 os模块 sys模块 序列化模块 re模块 常用模块二 hashlib模块 con ...
- Python中的re模块--正则表达式
Python中的re模块--正则表达式 使用match从字符串开头匹配 以匹配国内手机号为例,通常手机号为11位,以1开头.大概是这样13509094747,(这个号码是我随便写的,请不要拨打),我们 ...
- python常用模块(1):collections模块和re模块(正则表达式详解)
从今天开始我们就要开始学习python的模块,今天先介绍两个常用模块collections和re模块.还有非常重要的正则表达式,今天学习的正则表达式需要记忆的东西非常多,希望大家可以认真记忆.按常理来 ...
随机推荐
- windows远程桌面无法粘贴复制的解决方法
案例一:未勾选剪贴板,进入 远程桌面连接选项“本地资源->本地设备和资源->剪贴板”中,勾选剪贴板. 案例二:已勾选剪贴板,但是无法粘贴复制,进入远程服务器,关闭[rdpclip.exe] ...
- PLSQL使用绑定变量
想对一个sql做10046trace,结果因为10g数据库无法对sql_id做,只能使用绑定变量的方法,下面sql是如何使用绑定变量运行sql的语句 declare v_sql VARCHAR2( ...
- markdown中设置、调整图片尺寸
使用百分比描述尺寸 <img src="https://img2018.cnblogs.com/blog/1122471/201902/1122471-2019022218575673 ...
- 【深入理解JAVA虚拟机】第二部分.内存自动管理机制.5.调优实战
高性能硬件上的程序部署策略 在高性能硬件上部署程序,目前主要有两种方式: 通过64位JDK来使用大内存. -- 缺点:GC停顿时间长 使用若干个32位虚拟机建立逻辑集群来利用硬件资源. -- 思 ...
- 浅谈SAP Cloud for Sales 自动化
在Jerry还在本科进行计算机理论知识学习时,我曾经把软件开发里的质量工程师(Quality Engineer)理解成是每天只是简单地做着运行开发人员编写好的软件,如果发现问题,通知开发人员去修改这种 ...
- linux自动备份oracle数据库
#此脚本只备份数据表,而且为了方便恢复数据是做的单表逐个备份#在写脚本过程中遇到的报错均加入了解决方案的链接(虽然错误代码没有贴出来)#最终将在脚本所在目录生成年月日-时分的目录,目录下为表名.dmp ...
- 「C语言」数据类型及混合运算与类型转换
深入学习C语言时,有必要先了解一下数据类型的概念,以及它们之间的混合运算与类型转换. 本篇文章便是根据<C语言程序设计教程>和在线翻阅资料后整理而出.(练习题将逐步更新) 目录: ...
- java中的泛型2--注意的一些问题和面试题
前言 这里总结一下泛型中需要注意的一些地方和面试题,通过面试题可以让你掌握的更清楚一些. 泛型相关问题 1.泛型类型引用传递问题 在Java中,像下面形式的引用传递是不允许的: ArrayList&l ...
- 使用ViewPager实现Tab
一.效果演示及分析 我们直接看两幅图.如下: 上两幅图实现的效果就是: (1)手指左右滑动时,中间的布局呈现不同的效果.而且下面的按钮也会做相应的改变. (2)我们 ...
- Java 学习笔记1
最近开始学习Java. <%@ page language="java" import="java.util.*" pageEncoding=" ...