re模块用于对python的正则表达式的操作

字符:

  .匹配除换行符以外的任意字符

  \w匹配字母或数字或下划线或汉字

  \s匹配任意空白符

  \b匹配单词的开始或结束

  ^匹配字符串的开始

  $匹配字符串的结束

次数

  *重复零次或多次

  +重复一次或多次

  ?重复零次或者一次

  {n}重复n次

  {n,}重复n次或更多次

  {n,m}重复n到m次

出现一串类似于这样的字符代表匹配上了 使用group()把匹配的字符打印出来

match是从字符串开头开始匹配所以匹配到了第一个字符a

搜索整个字符串匹配第一个数字

匹配第一个一串数字 加了+号

后面加了一串字符串也是匹配第一个

匹配所有的使用另外一个方法findall 这里后面不用group

取出所有非数字的字符

使用数字作为分隔符分割

替换所有匹配字符串

替换一次

匹配IP地址

1,匹配一个数字只匹配到1

2,匹配多个数字配置到10

3,匹配多个数字1-4次匹配到10 因为ip地址之间使用.分割

4,使用\d+.表示匹配数字加. 后面{1,4}代表匹配1-4次

PS:这里的.代表匹配任意一个字符这里刚刚好任意一个字符是.需要指定匹配.则在前面加\

假如这个字符串里面还有其他数字怎么来匹配到IP地址呢

re.search("[0-2]{0,3}[0-9]{0,3}[0-9]{0,3}\.[0-2]{0,3}[0-9]{0,3}[0-9]{0,3}\.[0-2]{0,3}[0-9]{0,3}[0-9]{0,3}\.[0-2]{0,3}[0-9]{0,3}[0-9]{0,3}",t).group()

'10.8.45.27'

更加严谨一点的表达式

re.search("(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])",t).group()

以取IP第一位为例

re.search("(\d{1,2}|1\d\d|2[0-4]\d\25[0-5])\.",t).group()

(\d{1,2}|1\d\d|2[0-4]\d\25[0-5])\.

第一位要不就是一个两位数 要不就是以1开头的三位数 要不就是以2开头第二位是0-4之一第三位是一个数字 要不就是25开头第三位为0-5(严格来说应该是0-4) 最后匹配一个.号  最后一位数不带.号

使用groups生成元祖

name = "liu yueming"

re.search("(\w+) (\w+)",name).groups()
('liu', 'yueming')

>>> res = re.search("\w+",name)
>>> res = re.search("(?P<name>\w+)\s(?P<last_name>\w+)",name)
>>> res.group("name")
'liu'
>>> res.group("last_name")
'yueming'

取到名和姓 用的少

使用正则表达式实现计算器功能

Python之re模块正则表达式的更多相关文章

  1. 【Python开发】Python之re模块 —— 正则表达式操作

    Python之re模块 -- 正则表达式操作 这个模块提供了与 Perl 相似l的正则表达式匹配操作.Unicode字符串也同样适用. 正则表达式使用反斜杠" \ "来代表特殊形式 ...

  2. Python之re模块 —— 正则表达式操作

    这个模块提供了与 Perl 相似l的正则表达式匹配操作.Unicode字符串也同样适用. 正则表达式使用反斜杠" \ "来代表特殊形式或用作转义字符,这里跟Python的语法冲突, ...

  3. Python 之Re模块(正则表达式)

    一.简介 正则表达式本身是一种小型的.高度专业化的编程语言,而在python中,通过内嵌集成re模块,程序媛们可以直接调用来实现正则匹配. 二.正则表达式中常用的字符含义 1.普通字符和11个元字符: ...

  4. 第11.18节 Python 中re模块的匹配对象

    匹配对象是Python中re模块正则表达式匹配处理的返回结果,用于存放匹配的情况.老猿认为匹配对象更多的应该是与组匹配模式的功能对应的,只是没有使用组匹配模式的正则表达式整体作为组0. 为了说明下面的 ...

  5. Python的regex模块——更强大的正则表达式引擎

    Python自带了正则表达式引擎(内置的re模块),但是不支持一些高级特性,比如下面这几个: 固化分组    Atomic grouping 占有优先量词    Possessive quantifi ...

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

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

  7. day18 python之re模块与正则表达式

    正则表达式 正则表达式,就是匹配字符串内容的一种规则. 官方定义:正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串 ...

  8. 正则表达式与Python中re模块的使用

    正则表达式与Python中re模块的使用 最近做了点爬虫,正则表达式使用的非常多,用Python做的话会用到re模块. 本文总结一下正则表达式与re模块的基础与使用. 另外,给大家介绍一个在线测试正则 ...

  9. python全栈开发之正则表达式和python的re模块

    正则表达式和python的re模块 python全栈开发,正则表达式,re模块 一 正则表达式 正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的 ...

随机推荐

  1. MongoDB使用经验总结

    摘要: 最近在开发项目使用了数据库MongoDB,我将它的使用方法整理下分享给大家.至于mongoDB有什么优点,大家可以到官网去看. 安装: 首先我们需要到官网下载适合自己系统的mongodb. w ...

  2. [Algorithm] Beating the Binary Search algorithm – Interpolation Search, Galloping Search

    From: http://blog.jobbole.com/73517/ 二分检索是查找有序数组最简单然而最有效的算法之一.现在的问题是,更复杂的算法能不能做的更好?我们先看一下其他方法. 有些情况下 ...

  3. Java适配器模式的简单应用

    对于刚从工厂生产出来的商品,有些功能并不能完全满足用户的需要.因此,用户通常会对其进行一定的改装工作.编写程序为普通的汽车增加GPS定位功能,借此演示适配器模式的用法. 思路分析: 这个问题的需求是, ...

  4. dubbo开发前戏--ZooKeeper集群部署(3.4.6)

    最近在开发dubbo服务的时候一直用的是公司提供的zk平台,因为使用的人太多或者没人维护老是出问题,导致dubbo服务偶尔可以调通,偶尔调不通的情况,所以花点时间自己部署一套,后面出问题还方便看日志排 ...

  5. actor binary tree lab4

    forward 与 ! (tell) 的差异,举个例子: Main(当前actor): topNode ! Insert(requester, id=1, ele = 2) topNode: root ...

  6. graphicsmagick常用命令

    显示图像文件详细信息 gm identify a.jpg 1.更改当前目录下.jpg的尺寸大小,并保存于目录.thumb里面 gm mogrify -output-directory .thumbs ...

  7. itchat+pillow实现微信好友头像爬取和拼接

    源码下载链接:https://pan.baidu.com/s/1cPZhwy 密码:2t2o ###效果图 使用方法: 下载项目到本地,打开项目主目录,打开命令行,输入: pip install -r ...

  8. 【GIS】Cesium GLTF

    cd D:\GISSoft\3DsMax2017\COLLADA2GLTF-v2.1.4-windows-Release-x64 COLLADA2GLTF-bin.exe -f tree05.DAE ...

  9. PostgreSQL恢复误删数据

    在Oracle中:删除表或者误删表记录:有个闪回特性,不需要停机操作,可以完美找回记录.当然也有一些其他的恢复工具:例如odu工具,gdul工具.都可以找回数据.而PostgreSQL目前没有闪回特性 ...

  10. RF-获取上个月份

    验证1: case ${NowDate} set variable 20170103 ${year} set variable ${NowDate[0:4]} ${month} set variabl ...