经典例子:

1.由26个字母组成的字符串 ^[A-Za-z]+$

2. 中国境内邮政编码 [1-9]\d{5}

3.IP地址 0-99:[1-9]?\d  100-199:1\d{2}  200-249:2[0-4]\d  250-255:25[0-5]

组合起来:

(([1-9]?\d|1\d{2}|2[0-4]\d|25[0-5]).){3}([1-9]?\d|1\d{2}|2[0-4]\d|25[0-5])   #不直接扩展4次是因为最后一段地址后没有点

**************************************************************************************************

re库是python的标准库,主要用于字符串匹配。

引用re库:

import re

re库使用raw string类型(原生字符串类型)

表示为r'text',例如r'[1-9]\d{5}'

在原生字符串类型中转义符不被解释为转义。就比如如果用string类型,则要写成[1-9]\\d{5}

re.search(pattern,string,flags=0)

pattern:正则表达式的字符串或原生字符串表示

string:待匹配的字符串

flags:正则表达式使用时的控制标记

re.match()和re.findall()同上。

re.split(pattern,string,maxsplit)

若maxsplit=1则只由第一个匹配项分割

re.finditer()参数和re.match()相同,但是为迭代用法:

import re
for m in re.finditer(r'[1-9]\d{5}','BIT100081 TSU100084'):
if m:
print(m.group(0))
#
#
re.sub(pattern,repl,string,count=0,flags=0)

repl:替换匹配字符串处的字符串;count:匹配的最大替换次数

re库的函数式用法:

rst = re.search(pattern,string)

面向对象的用法(效率更高)

pat = re.compile(pattern)

rst = pat.search(string)

r'text'这样的形式并不是正则表达式,只有经过re.compile()编译后生成的regex对象才是正则表达式.

关于match对象:

贪婪匹配和最小匹配

re库会默认最大匹配

如果想要最小匹配呢?

python正则表达式re库(自用)的更多相关文章

  1. Python正则表达式re库的初次使用入门

    正则表达式常用操作符: 操作符 说明 实例 . 表示任何单个字符,不包括换行符 [] 字符集,对单个字符给出取值范围 [abc]表示a.b.c,[a-z]表示a到z单个字符 [^ ] 非字符集 [^a ...

  2. [转] Python正则表达式指南

    本文介绍了Python对于正则表达式的支持,包括正则表达式基础以及Python正则表达式标准库的完整介绍及使用示例.本文的内容不包括如何编写高效的正则表达式.如何优化正则表达式,这些主题请查看其他教程 ...

  3. Python 正则表达式学习笔记

    本文介绍了Python对于正则表达式的支持,包括正则表达式基础以及Python正则表达式标准库的完整介绍及使用示例.本文的内容不包括如何编写高效的正则表达式.如何优化正则表达式,这些主题请查看其他教程 ...

  4. Python正则表达式指南(转)

    目录 Python正则表达式指南(转) 0.防走丢 1. 正则表达式基础 1.1. 简单介绍 1.2. 数量词的贪婪模式与非贪婪模式 1.3. 反斜杠的困扰 1.4. 匹配模式 2. re模块 2.1 ...

  5. 7.Python 正则表达式学习笔记

    本文介绍了Python对于正则表达式的支持,包括正则表达式基础以及Python正则表达式标准库的完整介绍及使用示例.本文的内容不包括如何编写高效的正则表达式.如何优化正则表达式,这些主题请查看其他教程 ...

  6. python正则表达式re模块详细介绍--转载

    本模块提供了和Perl里的正则表达式类似的功能,不关是正则表达式本身还是被搜索的字符串,都可以是Unicode字符,这点不用担心,python会处理地和Ascii字符一样漂亮. 正则表达式使用反斜杆( ...

  7. python正则表达式教程

    原文这里,非常实用,转载一下 再来一篇,两篇一起看,美滋滋 本文介绍了Python对于正则表达式的支持,包括正则表达式基础以及Python正则表达式标准库的完整介绍及使用示例.本文的内容不包括如何编写 ...

  8. 转:Python正则表达式指南

    本文介绍了Python对于正则表达式的支持,包括正则表达式基础以及Python正则表达式标准库的完整介绍及使用示例.本文的内容不包括如何编写高效的正则表达式.如何优化正则表达式,这些主题请查看其他教程 ...

  9. python正则表达式与Re库

    正则表达式是用来简洁表达一组字符串的表达式,一行胜千言,有点类似于数列的通项公式. 在python中提供了re库(regular expression)即正则表达式库,内置于python的标准库中,导 ...

随机推荐

  1. Python集成开发环境搭建

    ===================== 开始学习Python的开发,首先得搭建好集成开发的环境! 分为下面几个步骤: 操作系统平台:Windows XP/7/10 都可以 1.安装并配置JDK运行 ...

  2. Maps.newHashMapWithExpectedSize(2)

    ☆ Map<String, Object> diffQuota = Maps.newHashMapWithExpectedSize(2); Maps.newHashMapWithExpec ...

  3. ubuntu编译python源码的坑

    在linux平台下编译python时只需要3条命令. 编译步骤 在github或https://www.python.org/downloads/中下载python源码 解压压缩包进路目录执行 1. ...

  4. 使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(三)-- Logger

    本篇是在上一篇的基础上添加日志功能,并记录NLog在Asp.Net Core里的使用方法. 第一部分:默认Logger支持 一.project.json添加日志包引用,并在cmd窗口使用 dotnet ...

  5. Dataframe 取列名

    1.[column for column in df] 2.df.columns.values 返回 array 3.list(df) 4.df.columns 返回Index,可以通过 tolist ...

  6. [C++] Win32 API 的多线程Timer管理Trick - 利用PostThreadMessage

    有时候我们需要在程序里定时地完成一些任务, 比如5秒后发送, 10秒后弹窗之类的操作. 这就需要一个类似于定时器的组件. 这个组件在windows.h里被称为Timer. 设置一个Timer 第一步当 ...

  7. 转 : jmeter分布式测试的坑

    有关jmeter分布式测试的环境配置,大概就是那样,但是每次想要进行jmeter分布式测试的时候,总是会有各种奇怪的问题,下面整理了一些可能遇到的坑. 只要错误中出现:Error in rconfig ...

  8. 【Reporting Services 报表开发】— 总结

    一.环境搭建:安装SQL Server 2008 R2或SQL Server 2012过程略,这里我安装的是SQL Server 2012. 二.新建报表项目: 1.打开Visual Studio 2 ...

  9. 大快DKhadoop安装教程与常见问题汇总

    上周分别就DKHadoop的安装准备工作以及服务器操作系统配置写了两篇分享的文章,这是个人第一次尝试写一个系统性的分享文章,必然会有很多疏漏的地方,还望见谅吧.今天分享的是DKHadoop安装以及常见 ...

  10. BASIC-27_蓝桥杯_2n皇后问题

    题目: 问题描述 给定一个n*n的棋盘,棋盘中有一些位置不能放皇后.现在要向棋盘中放入n个黑皇后和n个白皇后,使任意的两个黑皇后都不在同一行.同一列或同一条对角线上,任意的两个白皇后都不在同一行.同一 ...