一、正则表达式

·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. jquery实用技巧之输入框提示语句

    我们在编写网页的时候不可避免的会遇到输入框,那么怎么设计输入框才能更加优雅呢?不同的人会有不同的答案,下面分享一个比较不错的设计. 效果图 细节 这个效果主要是通过JQuery来实现,我的思路如下: ...

  2. sqlserver根据条件生成插入语句--单表

    ALTER proc [dbo].[proc_insert] (@tablename varchar(256),@where varchar(max))asbeginset nocount ondec ...

  3. Python初学者第四天 二进制运转换

    4day 1.二进制运算 a.十进制转换二进制 342 转换成二进制 342  101010110 Python提供了一种简单的计算二进制的方法:bin() b.文字转换成二进制 ASCII码表 GB ...

  4. Exchange 2016系统要求

    一.支持的共存方案 下表列出了一些支持 Exchange 2016 与 Exchange 早期版本共存的应用场景. Exchange 2016与Exchange Server早期版本共存 Exchan ...

  5. ue-edit设置显示函数列表

    UltraEdit的函数列表竟然不显示函数,那这功能要它何用,应该如何才能让函数显示出来呢? 公司编程基本上都在UltraEdit中进行,俺刚来公司还不熟悉,今天装了个UltraEdit,可是看着别人 ...

  6. SOA架构

    基于服务的SOA架构_后续篇   今天是元宵节,首先祝各位广大博友在接下来的光阴中技术更上一层,事事如意!(没能在元宵节发布,今天就补上吧) 昨天简单介绍了一下本人在近期开发过的一个电商购物平台的架构 ...

  7. bootstrap Switch 的一个坑点

    在bootstrap的modal点开的时候改变bootstrapSwitch的状态的时候,会出现第一次打开modal,switch没有变化,第二次以后打开modal才会改变,这个问题找了好久没有找到答 ...

  8. Hibernate映射Map属性

    看到一篇Hibernate 映射Map属性的文章挺好的转载一下原地址:http://blog.sina.com.cn/s/blog_86f4502c0101fs1x.html Map集合属于有序集合, ...

  9. C# Hadoop学习笔记(七)—C#的云计算框架借鉴(下)

    转自:http://blog.csdn.net/black0707/article/details/12853049 在上篇里,我们主要讨论了,这个系统怎样处理大数据的“读”操作,当然还有一些细节没有 ...

  10. Linux学习总结(二) 网络配置-NAT方式静态IP配置篇

    一:DHCP 服务验证 1: 之前我们在里面已经装好了centos,当时我们选择的组网方式为NAT方式,那么我们怎么样如何快速实现虚拟机系统访问外网呢?能不能直接上网呢,来我们试一下ping baid ...