python的正则表达式和re模块详解

目录
  • 一、正则表达式基础
  • 二、python re模块
  • 三、进阶
  • 总结

一、正则表达式基础

二、python re模块

注意:正则表达式 != re

eg:

注意:如果返回的是对象,则需要使用group分组。

三、进阶

1、分组,使用()即可

028-888888

tel_num = "028-888888"
pattern_obj = re.compile("(\d{3})-(\d{6})")
res = re.match(pattern=pattern_obj, string=tel_num)
print("output: %s %s" % (res.group(1), res.group(2)))

output: 028 888888

2、使用分组时,还可以使用“或者”条件

muilt_types = """image.jpg
    image.jpeg
    image.png
    image.gif"""
pattern_obj = re.compile("(.jpg|.gif|.jpeg|.png)")
types = re.findall(pattern=pattern_obj, string=muilt_types)
print("output: {}".format(types ))

output: ['.jpg', '.jpeg', '.png', '.gif']

3、非捕获分组,(?:表达式) 从而捕获数据,还能进行分组功能

muilt_nums = """028-75855
01-75855
12345-75855
tel:75855"""
pattern_obj = re.compile("(?:\d{2}|\d{5}|tel)[\-:](\d{5})")
nums = re.findall(pattern=pattern_obj, string=muilt_nums)
print("output: {}".format(nums))

output: ['75855', '75855', '75855', '75855']

4、使用分组提取年月日

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更多内容!

(0)

相关推荐

  • Python3的正则表达式详解

    目录 1.简介 2.切分字符串 3.分组 4.贪婪匹配 5.编译 总结 1.简介 2.切分字符串 3.分组 4.贪婪匹配 5.编译 总结 1.简介 # 正则表达式:用来匹配字符串的武器: # 设计思想:用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符串,认为匹配,否则,该字符串是不合法的: # 实例:判断一个字符串是否是合法的Email方法: # 1.创建一个匹配Email的正则表达式: # 2.用该正则表达式去匹配用户的输入来判断是否合法: # 如:\d可以匹配一个数字,\w可以匹

  • python中使用正则表达式的方法详解

    目录 search(pattern, string, flags=0) findall(pattern, string, flags=0) sub(pattern, repl, string, count=0, flags=0) compile(pattern, flags=0) flags的一些常用值 总结 在python中使用正则表达式,主要通过下面的几个方法 search(pattern, string, flags=0) 扫描整个string并返回匹配pattern的结果(None或对象

  • Python正则表达式的另类解答

    目录 一.正则表达式的作用 二.正则表达式基本符号 三.Python自带正则表达式模块 总结 一.正则表达式的作用 提示:正则表达式是一段特殊的字符串,它表示的是一段有规律的信息.如果我们想从一段文字中提取想要的内容,就可以通过正则表达式来方便的帮助我们提取. 提示:以下是本篇文章正文内容,下面案例可供参考 二.正则表达式基本符号 1.点号“.” “.”表示的是匹配除了换行符以外的任何一个字符,包括但不限于英文字母.数字.汉字.英文标点符号和中文标点符号. 2.星号“” “”表示匹配它前面的一个

  • Python正则表达式总结分享

    注意:本文基于Python2.4完成:如果看到不明白的词汇请记得百度谷歌或维基,whatever. 1. 正则表达式基础 1.1. 简单介绍 正则表达式并不是Python的一部分.正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大.得益于这一点,在提供了正则表达式的语言里,正则表达式的语法都是一样的,区别只在于不同的编程语言实现支持的语法数量不同:但不用担心,不被支持的语法通常是不常用的部分.如果已经在其他语言里使用过正

  • python常用的正则表达式大全

    1.正则表达式 正则表达式是用来匹配与查找字符串的,从网上爬取数据自然或多或少会用到正则表达式,python的正则表达式要先引入re模块,正则表达式以r引导,例如: 其中**r“\d+”**正则表达式表示匹配连续的多个数值,search是re中的函数,从"abc123cd"字符串中搜索连续的数值,得到"123",返回一个匹配对象,结果如上. 2.字符串"\d"匹配0~9之间的一个数值 3.字符"+"重复前面一个匹配字符一次或者

  • python正则表达式(re模块)的使用详解

    目录 前言 re.match函数 匹配单个字符 匹配多个字符 匹配开头结尾 匹配分组 re.compile函数 re.search函数 re.findall函数 re.finditer函数 re.sub函数 re.subn函数 re.split函数 python贪婪和⾮贪婪 r的作⽤ 总结 前言 在Python中需要通过正则表达式对字符串进⾏匹配的时候,可以使⽤⼀个python自带的模块,名字为re. 正则表达式的大致匹配过程是: 1.依次拿出表达式和文本中的字符比较, 2.如果每一个字符都能匹

  • python中对正则表达式re包的简单引用方式

    目录 对正则表达式re包的简单引用 一.re.match(pattern,string,flags=0) 二.re.search(pattern,string,flags=0) 三.检索和替换 re.sub() 四.正则表达式之命名捕获 re库的正确使用姿势 Why 使用姿势 应用举例 对正则表达式re包的简单引用 正则表达式一直是被我所忽略的东西,因为在之前的学习和开发中基本很少用到它.而且,之前学习正则表达式时感觉很懵逼,所以毅然决然的放弃了(QAQ),然而出来混总归还是要还的.最近在弄日志

  • python的正则表达式和re模块详解,一起来看看

    目录 一.正则表达式基础 二.pythonre模块 三.进阶 总结 一.正则表达式基础 二.python re模块 注意:正则表达式 != re eg: 注意:如果返回的是对象,则需要使用group分组. 三.进阶 1.分组,使用()即可 028-888888 tel_num = "028-888888" pattern_obj = re.compile("(\d{3})-(\d{6})") res = re.match(pattern=pattern_obj, s

  • python的正则表达式和re模块详解

    目录 一.正则表达式基础 二.python re模块 三.进阶 总结 一.正则表达式基础 二.python re模块 注意:正则表达式 != re eg: 注意:如果返回的是对象,则需要使用group分组. 三.进阶 1.分组,使用()即可 028-888888 tel_num = "028-888888" pattern_obj = re.compile("(\d{3})-(\d{6})") res = re.match(pattern=pattern_obj,

  • Python常用内置模块之xml模块(详解)

    xml即可扩展标记语言,它可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言.从结构上,很像HTML超文本标记语言.但他们被设计的目的是不同的,超文本标记语言被设计用来显示数据,其焦点是数据的外观.它被设计用来传输和存储数据,其焦点是数据的内容.那么Python是如何处理XML语言文件的呢?下面一起来看看Python常用内置模块之xml模块吧. 本文主要学习的ElementTree是python的XML处理模块,它提供了一个轻量级的对象模型.在使用ElementTre

  • Python自动重新加载模块详解(autoreload module)

    守护进程模式 使用python开发后台服务程序的时候,每次修改代码之后都需要重启服务才能生效比较麻烦. 看了一下Python开源的Web框架(Django.Flask等)都有自己的自动加载模块功能(autoreload.py),都是通过subprocess模式创建子进程,主进程作为守护进程,子进程中一个线程负责检测文件是否发生变化,如果发生变化则退出,主进程检查子进程的退出码(exist code)如果与约定的退出码一致,则重新启动一个子进程继续工作. 自动重新加载模块代码如下: autorel

  • Python多线程编程之threading模块详解

    一.介绍 线程是什么?线程有啥用?线程和进程的区别是什么? 线程是操作系统能够进行运算调度的最小单位.被包含在进程中,是进程中的实际运作单位.一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务. 二.Python如何创建线程 2.1 方法一: 创建Thread对象 步骤: 1.目标函数 2.实例化Thread对象 3.调用start()方法 import threading # 目标函数1 def fun1(num): for i in range(

  • Python学习之包与模块详解

    目录 什么是 Python 的包与模块 包的身份证 如何创建包 创建包的小练习 包的导入 - import 模块的导入 - from…import 导入子包及子包函数的调用 导入主包及主包的函数调用 导入的包与子包模块之间过长如何优化 强大的第三方包 什么是第三方包 如何安装第三方包 总结 大家好,学完面向对象与异常处理机制之后,接下里我们要学习 包与模块 .首先我们要了解什么是包?什么是模块?接下来我们还要学习 如何自定义创建包.自定义创建模块以及如何导入包与模块.最后我们在学习如何使用第三方

  • python自带的http模块详解

    挺久没写博客了,因为博主开始了今年另一段美好的实习经历,学习加做项目,时间已排满:很感谢今年这两段经历,让我接触了golang和python,学习不同语言,可以跳出之前学习c/c++思维的限制,学习golang和python的优秀特性以及了解在不同的场景,适用不同的语言:而之前学习linux和c/c++,也使我很快就上手golang和python; 我学习的习惯,除了学习如何使用,还喜欢研究源码,学习运行机制,这样用起来才会得心应手或者说,使用这些语言或框架,就和平时吃饭睡觉一样,非常自然:因为

  • python的random和time模块详解

    目录 一.模块概述 二.模块内容 三.模块导入的原理 四.模块导入的方法 五.random模块 六.time模块 (1)python表示时间的三种格式 (2)常用方法: (3)时间元组.时间戳.格式化字符串转换 总结 一.模块概述 模块指的是包含python代码的文件,也就是一个.py文件就是一个模块.文件夹(directory)---->包(package),是一种特殊的模块.模块名要符合标识符的命名规范,以字母开头,且不能和自带的模块重名.模块第一次被导入时会先执行模块本身,多次导入只有第一

  • Python函数式编程中itertools模块详解

    目录 容器与可迭代对象 count() 函数 cycle 函数 repeat 函数 enumerate 函数,添加序号 accumulate 函数 chain 与 groupby 函数 zip_longest 与 zip tee 函数 compress 函数 islice.dropwhile.takewhile.filterfalse.filter 总结 容器与可迭代对象 在正式开始前先补充一些基本概念在 Python 中存在容器 与 可迭代对象 容器:用来存储多个元素的数据结构,例如 列表,元

  • 正则表达式+Python re模块详解

    正则表达式(Regluar Expressions)又称规则表达式,在代码中常简写为REs,regexes或regexp(regex patterns).它本质上是一个小巧的.高度专用的编程语言. 通过正则表达式可以对指定的文本实现 匹配测试.内容查找.内容替换.字符串分割 等功能. re模块介绍 Python中的re模块提供了一个正则表达式引擎接口,它允许我们将正则表达式编译成模式对象,然后通过这些模式对象执行模式匹配搜索和字符串分割.子串替换等操作.re模块为这些操作分别提供了模块级别的函数

随机推荐