1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#re模块 正规表达式
import re
#match函数和search函数
'''
re.match函数
re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。
函数语法:
re.match(pattern, string, flags=0)
函数参数说明:
参数描述:
pattern    匹配的正则表达式
string    要匹配的字符串。
flags    标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等。
匹配成功re.match方法返回一个匹配的对象,否则返回None。
我们可以使用group(num) 或 groups() 匹配对象函数来获取匹配表达式。
匹配对象方法描述:
group(num=0)    匹配的整个表达式的字符串,group() 可以一次输入多个组号,在这种情况下它将返回一个包含那些组所对应值的元组。
groups()    返回一个包含所有小组字符串的元组,从 1 到 所含的小组号。
'''
'''
res1 = re.match('\d+','ddhfs33y98y392chhdf')    
res2 = re.search('\d+','dasdjkhf7fn84857fjg749') 
if res1:
    print res1.group()
else:
    print 'no'
if res2:
    print res2.group()
else:
    print 'no'
'''
'''
区别:
match从起始位置开始匹配,只从开头开始找,没有的话返回none
search整个内容里去匹配,放眼于整个字符串查找,直到找到为止,找到了就返回一个对象
'''
#findall函数
res3 = re.findall('\d+','99dad97765554dadaddd111222dfe333da444dadad555666')
#print res3
'''
findall的作用:
只要和表达式相匹配的都拿过来,会一直找,找到所有的
'''
#compile函数 作用:编译表达式
com = re.compile('\d+'#编译表达式后生成一个对象
#print com.findall('99dad97765554dadaddd111222dfe333da444dadad555666')
'''
如果用同样的表达式去匹配100次不同的字符串,
那么这种方式就是先编译一次,去查找100次,编译表达式这种方式效率更高
'''
#小粒子2
#目标:在这段悲催的字符中找出IP地址
#知识点:正规表达式 "\d" 代表一个数字,{1,3}代表出现1-3次
ips = '12.34.43.ddsd.dwdda.ddad.rfaw+87dd192.168.32.43_hfshfsh.887fsdf'
com = re.compile('\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}')
ip = com.findall(ips)
print ip
#小粒子2
#目标:要求你填写的QQ号必须为5位到12位数字
#知识点: ”^“匹配字符串的开始,”$“匹配字符串的结束,{6,12}代表必须重复最少6次,最多12次,否则都不匹配。
#也就是说,您输入的QQ号码必须是不能少于6位,不能大与12位,否则出错
def check_nums(qq):
    com = re.compile('^\d{6,12}$')
    qqs = com.findall(qq)
    if len(qqs) == 0:
        print '您输入的QQ号位数有误'
    else:
        print '您的QQ号已受理'
check_nums('996298929')
'''
那么关于正规表达式的学习,下面推荐一个学习教程:http://deerchao.net/tutorials/regex/regex-1.htm
但这个教程仅仅只是入门而已。那么,平时在工作中用到的时候,不懂的在百度或到google查一查即可。
'''

本文转自 TtrToby 51CTO博客,原文链接:http://blog.51cto.com/freshair/1871032

python 之re模块(正规表达式)简单扯一下犊子相关推荐

  1. 【python之argparse模块学习】简单入门

    目录 0 前言 1 入门程序 2 参数 2.1 位置参数 2.2 可选参数 2.3 矛盾选项 3 总结 4 参考文献 0 前言 该模块地位: Python 标准库中推荐的命令行解析模块. 类比linu ...

  2. python相册特效模块_Python 实现简单滤镜

    在这个人人自拍的年代,每个人的智能手机中至少都装了一款美颜相机或者美图软件,而这些软件实现美图功能又主要是靠滤镜来实现的.而这个项目使用 Python 编写一个简单的滤镜程序. 效果截图 先来展示一下 ...

  3. python中logging模块的一些简单用法

    用Python写代码的时候,在想看的地方写个print xx 就能在控制台上显示打印信息,这样子就能知道它是什么了,但是当我需要看大量的地方或者在一个文件中查看的时候,这时候print就不大方便了,所 ...

  4. python模拟购物模块_python实现简单购物商城

    本文为大家分享了购物商城小程序,供大家参考,具体内容如下 软件版本:python3.x 功能:实现简单购物商城 1.允许用户选择购买多少件 2.允许多用户登录,下一次登录后,继续按上次的余额继续购买 ...

  5. 简单分析C之Curl模块同php的curl和python的pycurl模块的关系

    简单分析C之Curl模块同php的curl和python的pycurl模块的关系 简单分析C之Curl模块同php的curl和python的pycurl模块的关系 - CL.TANG - 博客园 简单 ...

  6. linux 下Python调用C模块

    在C调用Python模块时需要初始化Python解释器,导入模块等,但Python调用C模块却比较简单,下面还是以helloWorld.c 和 main.py 做一说明: (1)编写C代码,hello ...

  7. Linux下用Python调用C模块

    http://blog.chinaunix.net/uid-22920230-id-3418876.html 在C调用Python模块时需要初始化Python解释器,导入模块等,但Python调用C模 ...

  8. linux下载tkinter模块,Linux升级Python提示Tkinter模块找不到解决

    一.安装tkinter 在Linux中python默认是不安装Tkinter模块, [root@li250- ~]# python Python 2.6. (r266:, Feb , ::) [GCC ...

  9. Python signal 信号处理模块

    Table of Contents 1. signal模块简介 1.1. signal简单示例 1.2. signal说明 1.2.1. 基本的信号名 1.2.2. 常用信号处理函数 2. signa ...

最新文章

  1. vsftpd日志配置及查看——可以将vsftpd记录在系统日志里
  2. ORACLE1.22 %type %rowtype
  3. Win32 调用netapi32实现用户枚举
  4. linux 哪个进程在使用串口_Linux内核的整体架构
  5. MySQL主从复制,读写分离配置
  6. centos7调节虚拟机字体_初次安装虚拟机中Ubuntu16.04系统设置的一些小问题(小白教程)...
  7. aws消息服务器,经验分享:我们如何使用AWS构建无服务器架构 - hypertrack
  8. centeros下安装python
  9. iscsi:IO操作流程(一)
  10. Android 简单闪屏
  11. 2018CCPC网络赛
  12. Python写入文件,但是发现文件为空,竟然未写入!
  13. MATLAB零基础入门教程视频课程
  14. Bluemix RSA Private key cannot be used to encrypt
  15. Jmeter录制脚本,HTTP代理服务器介绍使用
  16. 安装cuda后却没有CUDA Samples怎么办?
  17. 跨境电商的运营模式有哪些?
  18. mysql 内部 临时表_MySQL内部临时表策略 - Mr.南柯 - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...
  19. Java BMI计算程序
  20. python画圣诞树

热门文章

  1. android 彩信,android 彩信接收到附件的下载原理分析
  2. 分析发彩信tcp/ip数据包
  3. 小偷php杰奇小说源码_杰奇小说系统 v1.8
  4. 原神服务器维护后抽奖池会更新吗,原神抽奖池更新次数会重置吗
  5. 微软edge浏览器不显示图片问题
  6. 计算机网络——交换机的生成树协议STP
  7. Wireshark解密https数据
  8. android launcher3,Android Launcher3 基本功能分析
  9. 什么是BOM(Byte Order Mark)?
  10. FlashBuilder的代码模板