经典例子:

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. hdu2088

    hdu2088 #include<stdio.h> #include<algorithm> using namespace std; ]; int main(){ ; ){ , ...

  2. lsof-查看进程句柄

    root@root:~# lsof COMMAND PID TID USER FD TYPE DEVICE SIZE/OFF NODE NAME systemd root cwd DIR , / sy ...

  3. tiny4412-Uboot启动分析

    一.从本质上将,引导转载程序至少应提供以下功能 (1)设置和初始化RAM (2)初始化一个串口 (3)检测机器类型(machine type) (4)设置内核标签列表(tag list) (5)调用内 ...

  4. MySQL--MODIFY COLUMN和ALTER COLUMN

    =================================================== 在修改列时,可以使用ALTER TABLE MODIFY COLUMN  和ALTER TABL ...

  5. solr学习二(ExtractingRequestHandler)

    通过ExtractingRequestHandler,slor能够读取word.pdf等文件,并用于全文搜索.废话少说,进入主题:     solr服务端是配出来的:     solrconfig.x ...

  6. ZH奶酪:最简单的Django安装方法(Windows 7)

    前提是你已经在机器上安装了python~并且你的机器能够上网~ 1.进入:https://bootstrap.pypa.io/get-pip.py,ctrl+s保存网页(其实是.py文件)到某一目录: ...

  7. 工欲善其事必先利其器系列之:更换Visual Studio代码风格.

    前言:如果你厌倦了默认的VS的背景颜色,可以在studiostyl下载.vssettinggs文件,将其导入VS中,黑色的风格还是蛮不错的,如果用的12的话就没这个必要了我觉得. 从网站下载后会得到扩 ...

  8. 如何在eclipse中安装angularjs插件

    1,首先,在eclipse中使用angularjs的时候,由于没有相应的提示,导致在开发的时候给我们带来了很多的不便,需要在这上面耗费一些时间.那么这时候我们都在想可不可以让eclipse也和一些前端 ...

  9. 线性代数之SVD与PCA

    [作者:byeyear    Email:east3@163.com    首发www.cnblogs.com    转载请注明] 回忆学校的美好时光,一起来复习下曾经的课程吧. 1. SVD推荐am ...

  10. 大数据应用之HBase数据插入性能优化实测教程

    引言: 大家在使用HBase的过程中,总是面临性能优化的问题,本文从HBase客户端参数设置的角度,研究HBase客户端数据批量插入性能优化的问题.事实胜于雄辩,数据比理论更有说服力,基于此,作者设计 ...