正则表达式是对字符串的最简约的规则的表述。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. WPF 好看的矢量图标

    原文:WPF 好看的矢量图标 本文告诉大家一个好用的网站,里面提供很多好看的图标. 本文介绍的网站是 Xamalot 里面有很多好看的图标. 例如我找到了一个好看的图标 我只需要点击下面的下载就可以了 ...

  2. Android经常使用UI包裹 - EditText

    EditText的信息接受用户输入是最重要的Android UI包裹,您可以使用EditText.getText()获取它的文本内容. 实例:EditTextDemo 执行效果: watermark/ ...

  3. sql 声明 将结果select 而混合值

    String slctpsql="select id ,"+uid+","+ddd+","+score+",'"+mar ...

  4. ant的condition任务

    1.istrue isfalse:断言 真 假 <project name="testCondition"> <target name="test&qu ...

  5. 让ProgressDialog在setCancelable(false)时按返回键可dismiss

    最近发现Android4.0系统中ProgressDialog设置为setCancelable(true)时,点击ProgressDialog以外的区域也可以让ProgressDialog dismi ...

  6. ios 拿到第一响应者的当前视图

    UIWindow *keyWindow = [[UIApplication sharedApplication] keyWindow]; UIView *firstResponder = [keyWi ...

  7. python3 基本使用多线程

    #coding=utf-8 import threading #进口threading from time import sleep import time def task1(): print (& ...

  8. C类型和存储方式的语言变量

    变量的作用域:有效射程变量 >局部变量 1.在函数中的局部变量,量在该函数结束后自己主动撤销 2.函数内的复合语句中的局部变量(比方for语句),这个变量在复合语句结束后自己主动撤销.这个变量能 ...

  9. pip 9.0 离线安装Python3的环境库

    到客户现场实施,很多情况下是没有网络的,我们需要在办公室准备好离线安装包. 假设现有已联网的客户机A,一台无网络的客户机B 客户机A 1.生成本地环境的包清单 pip3 freeze > req ...

  10. WPF Path和图形

    <Window x:Class="GeometryDemo.MainWindow" xmlns="http://schemas.microsoft.com/winf ...