python 之re模块(正规表达式)简单扯一下犊子
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查一查即可。
'''
|
python 之re模块(正规表达式)简单扯一下犊子相关推荐
- 【python之argparse模块学习】简单入门
目录 0 前言 1 入门程序 2 参数 2.1 位置参数 2.2 可选参数 2.3 矛盾选项 3 总结 4 参考文献 0 前言 该模块地位: Python 标准库中推荐的命令行解析模块. 类比linu ...
- python相册特效模块_Python 实现简单滤镜
在这个人人自拍的年代,每个人的智能手机中至少都装了一款美颜相机或者美图软件,而这些软件实现美图功能又主要是靠滤镜来实现的.而这个项目使用 Python 编写一个简单的滤镜程序. 效果截图 先来展示一下 ...
- python中logging模块的一些简单用法
用Python写代码的时候,在想看的地方写个print xx 就能在控制台上显示打印信息,这样子就能知道它是什么了,但是当我需要看大量的地方或者在一个文件中查看的时候,这时候print就不大方便了,所 ...
- python模拟购物模块_python实现简单购物商城
本文为大家分享了购物商城小程序,供大家参考,具体内容如下 软件版本:python3.x 功能:实现简单购物商城 1.允许用户选择购买多少件 2.允许多用户登录,下一次登录后,继续按上次的余额继续购买 ...
- 简单分析C之Curl模块同php的curl和python的pycurl模块的关系
简单分析C之Curl模块同php的curl和python的pycurl模块的关系 简单分析C之Curl模块同php的curl和python的pycurl模块的关系 - CL.TANG - 博客园 简单 ...
- linux 下Python调用C模块
在C调用Python模块时需要初始化Python解释器,导入模块等,但Python调用C模块却比较简单,下面还是以helloWorld.c 和 main.py 做一说明: (1)编写C代码,hello ...
- Linux下用Python调用C模块
http://blog.chinaunix.net/uid-22920230-id-3418876.html 在C调用Python模块时需要初始化Python解释器,导入模块等,但Python调用C模 ...
- linux下载tkinter模块,Linux升级Python提示Tkinter模块找不到解决
一.安装tkinter 在Linux中python默认是不安装Tkinter模块, [root@li250- ~]# python Python 2.6. (r266:, Feb , ::) [GCC ...
- Python signal 信号处理模块
Table of Contents 1. signal模块简介 1.1. signal简单示例 1.2. signal说明 1.2.1. 基本的信号名 1.2.2. 常用信号处理函数 2. signa ...
最新文章
- vsftpd日志配置及查看——可以将vsftpd记录在系统日志里
- ORACLE1.22 %type %rowtype
- Win32 调用netapi32实现用户枚举
- linux 哪个进程在使用串口_Linux内核的整体架构
- MySQL主从复制,读写分离配置
- centos7调节虚拟机字体_初次安装虚拟机中Ubuntu16.04系统设置的一些小问题(小白教程)...
- aws消息服务器,经验分享:我们如何使用AWS构建无服务器架构 - hypertrack
- centeros下安装python
- iscsi:IO操作流程(一)
- Android 简单闪屏
- 2018CCPC网络赛
- Python写入文件,但是发现文件为空,竟然未写入!
- MATLAB零基础入门教程视频课程
- Bluemix RSA Private key cannot be used to encrypt
- Jmeter录制脚本,HTTP代理服务器介绍使用
- 安装cuda后却没有CUDA Samples怎么办?
- 跨境电商的运营模式有哪些?
- mysql 内部 临时表_MySQL内部临时表策略 - Mr.南柯 - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...
- Java BMI计算程序
- python画圣诞树