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. SQL优化|Java面试题

    转载:https://www.cnblogs.com/Jacck/p/8030455.html 数据库的优化问题 一.问题的提出 在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂 ...

  2. [转]总结使用Unity 3D优化游戏运行性能的经验

    转载自:http://www.gameres.com/msg_221889.html 作者:Amir Fasshihi 流畅的游戏玩法来自流畅的帧率,而我们即将推出的动作平台游戏<Shadow ...

  3. Docker应用之容器

    容器是独立运行的一个或一组应用,以及他们的运行态环境 1.启动容器(基于镜像新建一个容器并启动或将终止状态的容器重新启动) run后面添加--name参数可以指定容器的名称,否则系统默认会给名称:使用 ...

  4. 转载用sql语句计算出mysql数据库的qps,tps,iops性能指标

    本帖最后由 LUK 于 2014-9-21 22:39 编辑 思路: 1 关注MYSQL三个方面的性能指标,分别为query数,transaction数,io请求数 2 在某个时间范围内(例如20秒) ...

  5. Lottie 动画库

    强大的动画库,且同时支持 android.ios.react native 和 web http://airbnb.io/lottie/

  6. iOS开发--NSDateFormatter

    NSDate对象包含两个部分,日期(Date)和时间(Time).格式化的时间字符串主要也是针对日期和时间的 1.基础用法 NSDate* now = [NSDate date]; NSDateFor ...

  7. XML转JSON工具类

    原文地址:http://blog.csdn.net/lovesummerforever/article/details/26396465 1.pom依赖 <dependency> < ...

  8. 当进行make命令学习是出现error trying to exec 'cc1': execvp: No such file or directory

    进行编译的时候总是会出现这种状况 error trying to exec 'cc1': execvp: No such file or directory 自己把程序改了又改,改的很简单之后还是出现 ...

  9. 在MVC中实现和网站不同服务器的批量文件下载以及NPOI下载数据到Excel的简单学习

    嘿嘿,我来啦,最近忙啦几天,使用MVC把应该实现的一些功能实现了,说起来做项目,实属感觉蛮好的,即可以学习新的东西,又可以增加自己之前知道的知识的巩固,不得不说是双丰收啊,其实这周来就开始面对下载在挣 ...

  10. linux下命令学习

    1 在linux中,./代表当前目录下 例如 创建一个文件夹123   mkdir ./123   ->当前目录下创建一个123文件夹 mkdir -p ./123/456  在当前目录下创建一 ...