正则表达式是对字符串的最简约的规则的表述。python也有专门的正则表达式模块re.

正则表达式函数 释义
re.match() 从头开始匹配,匹配失败返回None,匹配成功可通过group(0)返回匹配成功的字符串
re.search() 扫描整个字符串,并返回第一个匹配的字符串
re.sub() 对符合要求的所有子串进行替换
re.findall() 以列表形式返回所有符合条件的子串    
re.split() 以模式作为切分符号切分字符串,并返回列表
re.finditer() 找到 RE 匹配的所有子串,并把它们作为一个迭代器返回
re.compile() 把那些经常使用的正则表达式编译成正则表达式对象
re.group() 返回被 RE 匹配的字符串
re.start() 返回匹配开始的位置
re.end() 返回匹配结束的位置
re.span() 返回一个元组包含匹配 (开始,结束) 的位置
  1. import re
  2.  
  3. list=['15865548338cong' ,'abcd18701687236ef','gafei18511371536' ,'wb15865737271dad13244556677']
  4. print(list)
  5. for items in list:
  6. # start
  7. l=re.match( r'\d{11}',items )
  8. print('match:',l )
  9. if l!=None:
  10. print('match.group(0)',l.group(0))
  11. # start-end
  12. m = re.search( '[0-9]{11}',items )
  13. print('search:',m.group( 0))
  14. print('search,.start:',m.start())
  15. print('search,.end:',m.end())
  16. print('search,.span:',m.span())
  17. # replace
  18. n=re.sub( r'\d','*' ,items)
  19. print('sub:',n )
  20. # return list
  21. o=re.findall(r'\d{11}',items )
  22. print('findall:',o )
  23. # str2list
  24. p=re.split( r'\d+',items )
  25. print('split:',p )
  26. # iterator
  27. q=re.finditer(r'\d+',items )
  28. for i in q:
  29. print('finditer:' ,i.group())
  30. pattern=re.compile(r'\d{11}')
  31. print pattern.findall(items)
  32.  
  33. print('***********************************************' )

输出结果:

  1. ['15865548338cong', 'abcd18701687236ef', 'gafei18511371536', 'wb15865737271dad13244556677']
  2. ('match:', <_sre.SRE_Match object at 0x00000000025D2510>)
  3. ('match.group(0)', '')
  4. ('search:', '')
  5. ('search,.start:', 0)
  6. ('search,.end:', 11)
  7. ('search,.span:', (0, 11))
  8. ('sub:', '***********cong')
  9. ('findall:', [''])
  10. ('split:', ['', 'cong'])
  11. ('finditer:', '')
  12. ['']
  13. ***********************************************
  14. ('match:', None)
  15. ('search:', '')
  16. ('search,.start:', 4)
  17. ('search,.end:', 15)
  18. ('search,.span:', (4, 15))
  19. ('sub:', 'abcd***********ef')
  20. ('findall:', [''])
  21. ('split:', ['abcd', 'ef'])
  22. ('finditer:', '')
  23. ['']
  24. ***********************************************
  25. ('match:', None)
  26. ('search:', '')
  27. ('search,.start:', 5)
  28. ('search,.end:', 16)
  29. ('search,.span:', (5, 16))
  30. ('sub:', 'gafei***********')
  31. ('findall:', [''])
  32. ('split:', ['gafei', ''])
  33. ('finditer:', '')
  34. ['']
  35. ***********************************************
  36. ('match:', None)
  37. ('search:', '')
  38. ('search,.start:', 2)
  39. ('search,.end:', 13)
  40. ('search,.span:', (2, 13))
  41. ('sub:', 'wb***********dad***********')
  42. ('findall:', ['', ''])
  43. ('split:', ['wb', 'dad', ''])
  44. ('finditer:', '')
  45. ('finditer:', '')
  46. ['', '']
  47. ***********************************************
  48. 请按任意键继续. . .

python正则表达式模块的更多相关文章

  1. Python 正则表达式模块 (re) 简介

    Python 的 re 模块(Regular Expression 正则表达式)提供各种正则表达式的匹配操作,和 Perl 脚本的正则表达式功能类似,使用这一内嵌于 Python 的语言工具,尽管不能 ...

  2. Python正则表达式模块(re模块)

    Python是我接触到的第一门编程语言,虽然它足够简单,但是对于当时刚刚接触编程语言的我来说还是有些难度的,于是只是了解了一些Python的基本语法,稍微深入一点的地方都没怎么了解.不过,到现在为止, ...

  3. python正则表达式模块re:正则表达式常用字符、常用可选标志位、group与groups、match、search、sub、split,findall、compile、特殊字符转义

    本文内容: 正则表达式常用字符. 常用可选标志位. group与groups. match. search. sub. split findall. compile 特殊字符转义 一些现实例子 首发时 ...

  4. python正则表达式模块re

    正则表达式的特殊元素 匹配符号 描述 '.'(点dot) 在默认模式下,它匹配除换行符之外的任何字符.如果指定了DOTALL标志,则匹配包括换行符在内的任何字符 '^'(Caret) 匹配以字符串开头 ...

  5. 更强大的python正则表达式模块 -- regex

    python内置的正则表达库re比较弱,而且似乎在好几年里都没太大的变化. 这里介绍这个python模块regex,实现了更多方便好用的功能. 比如:\p{han} 可以匹配汉字, \p{Latin} ...

  6. 一篇搞定Python正则表达式

    1. 正则表达式语法 1.1 字符与字符类 1 特殊字符:\.^$?+*{}[]()| 以上特殊字符要想使用字面值,必须使用\进行转义 2 字符类    1. 包含在[]中的一个或者多个字符被称为字符 ...

  7. Python正则表达式很难?一篇文章搞定他,不是我吹!

    1. 正则表达式语法 1.1 字符与字符类 1 特殊字符:.^$?+*{}| 以上特殊字符要想使用字面值,必须使用进行转义 2 字符类 1. 包含在[]中的一个或者多个字符被称为字符类,字符类在匹配时 ...

  8. Python正则表达式学习记录

    常用的命令: http://www.runoob.com/python/python-reg-expressions.html 使用中相关注意问题: 1. 中括号里的表示从N到M需要用横线‘-’, 而 ...

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

    python第一个正则表达式 1. import re : python正则表达式模块 2. 第一个正则表达式 re.compile(r'imooc') pattern.match('imooc py ...

随机推荐

  1. asp.net中c#求百分比

    double m= 50;double n= 100; Response.Write((m/ (m+ n)).ToString("0%"));Response.Write((m/ ...

  2. JIL 编译与 AOT 编译

    JIT:Just-in-time compilation,即时编译:AOT:Ahead-of-time compilation,事前编译. JVM即时编译(JIT) 1. 动态编译与静态编译 动态编译 ...

  3. 编译freetype 的dll

    因需要给python使用freetype库,so需要一个freetype的dll 2 steps 1. 在VC中设置输出为动态链接库 2. 修改ftoption.h 在284行增加2行代码即可 /** ...

  4. 维纳过程(Wiener Process)与高斯过程(Gaussian Process)

    维纳过程又叫布朗运动过程(Brownian motion): 1. 维纳过程 维纳过程 Wt 由如下性质所描述: W0=1, a.s.(a.s.,almost surely)

  5. 实用WordPress后台MySQL操作命令

    关键字: WordPress MySQL 后台 数据库 地址:http://www.cnblogs.com/txw1958/archive/2013/01/06/wordpress-sql.html ...

  6. ImageNet 数据集

    1. top-5 error rate ImageNet 图像通常有 1000 个可能的类别,对每幅图像你可以猜 5 次结果(即同时预测5个类别标签),当其中有任何一次预测对了,结果都算对(事实上一个 ...

  7. python 教程 第十五章、 结构布局

    第十五章. 结构布局 #!/usr/bin/env python #(1)起始行 "this is a module" #(2)模块文档 import sys #(3)模块导入 d ...

  8. 在运行Hfile的MR如果任务client结束OOM

    在运行MR将HDFS转换成HFile什么时候.例如,会发生以下的异常: 14/07/09 18:02:59 INFO mapred.JobClient:  map 83% reduce 0% 14/0 ...

  9. Gtkmm在dev-cpp下的配置

    Gtkmm安装 1.  首先安装dev-cpp 2.  然后安装最新的gtkmm2.4来自http://www.pcpm.ucl.ac.be/~gustin/win32_ports/index.htm ...

  10. QRCode二维码生成方案及其在带LOGO型二维码中的应用(2)

    原文:QRCode二维码生成方案及其在带LOGO型二维码中的应用(2) 续前:QRCode二维码生成方案及其在带LOGO型二维码中的应用(1)  http://blog.csdn.net/johnsu ...