经典例子:

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. (2)集合 遍历set集合

    set集合的一些方法 Set<String> set1=new HashSet<String>(); set1.add("a"); set1.add(&qu ...

  2. DD_belatedPNG解决IE6下PNG不透明问题

    使用方法: 首先下载JS文件:http://dillerdesign.com/experiment/DD_belatedPNG/ 之后在页面中引用代码: <!--[if IE 6]>< ...

  3. 转 Apache Kafka:下一代分布式消息系统

    简介 Apache Kafka是分布式发布-订阅消息系统.它最初由LinkedIn公司开发,之后成为Apache项目的一部分.Kafka是一种快速.可扩展的.设计内在就是分布式的,分区的和可复制的提交 ...

  4. linux和mac使用virtualenv使用和安装

    virtualenv是python的三大神器之一,用于创建独立的python虚拟环境,多个python版本相互独立,互不影响,可以在一台电 脑上同时安装多个版本的python,而且不影响本机pytho ...

  5. 标 题: Re: 总感觉IT没我大山东啥事?

    发信人: liuzhlai (liuzhlai), 信区: ITExpress 标  题: Re: 总感觉IT没我大山东啥事? 发信站: 水木社区 (Sat Aug 22 15:51:50 2015) ...

  6. gl attribute和uniform的用法

    gl attribute和uniform的用法 http://blog.csdn.net/jackers679/article/details/6848085 attribute    attribu ...

  7. CountDownLatch、CyclicBarrier、Semaphore 区别

    CountDownLatch.CyclicBarrier.Semaphore 区别: CountDownLatch和CyclicBarrier都能够实现线程之间的等待,只不过它们侧重点不同: Coun ...

  8. VS2015 C#项目工程配置emgucv依赖的方法

    1.VS2015新建一个C# console工程 2.Tools->NuGet package management->manage NuGet package for solution- ...

  9. PHP图像处理

    1.创建画布: $img=imagescreatetruecolor(200,200); 创建颜色并填充 $red=imagecolorallocate($img,255,0,0);  //创建颜色 ...

  10. linux svn服务器(一)

    先安装 参考文章http://www.cnblogs.com/zhaoyang-1989/articles/3455481.html