re 正则表达式

1.什么是正则?

正则就是用一系列具有特殊含义的字符组成的规则,该规则用来描述具有某一特征的字符串。

正则就是用来在一个大的字符串匹配出符合规则的子字符串

2.为什么用正则?

正则可以用来检验用户注册的合法性,可以爬虫等等

3.如何使用正则?

\w 匹配字母、数字、下划线           \W 匹配非字母数字下划线的字符

\s 匹配空白字符(\t,\n,\r,\f)          \S 匹配非空白字符

\d 匹配数字0-9                              \D 匹配非数字

\n 匹配换行符                                \t  匹配制表符

^ 匹配字符开头                              $  匹配字符末尾

重复匹配

. 匹配任意一个字符,若加上re.DOTALL则可以匹配换行符

[] 匹配一个,该字符属于中括号中指定的字符

[a-z] 代表a-z所有的小写字母

[^] 代表取反     []内有特殊意义的字符如-需要取义

以下必须与其它字符连用:

* 表示出现0次或无穷次

? 表示左侧的字符出现0次或者1次

+ 表示左侧的字符出现1次或者无穷次

{1,3} 表示左侧的字符至少出现一次,最多3次

.* 贪婪匹配                   .*?非贪婪匹配

分组() 正常匹配,最后取到组内的值

a|b  匹配a或b

(?:) 正常匹配,但不是只取组内的值

findall  返回所有在[]内的值

search  匹配一个,返回一个对象,不存在则返回none

加.group()  返回值

match() 与search一样,但从头开始

split()  与字符串的类似

sub(‘原’,‘现’,‘str’,个数)

compile  存正则表达式,便于重复使用

sys模块

sys.argv           命令行参数List,第一个元素是程序本身路径

sys.exit(n)        退出程序,正常退出时exit(0)

sys.path           返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值

打印进度条方法:

import sys
import time def progress(percent,width=50):
if percent >= 1:
percent=1
show_str=('[%%-%ds]' %width) %(int(width*percent)*'#')
print('\r%s %d%%' %(show_str,int(100*percent)),file=sys.stdout,flush=True,end='') data_size=1025
recv_size=0
while recv_size < data_size:
time.sleep(0.1) #模拟数据的传输延迟
recv_size+=1024 #每次收1024 percent=recv_size/data_size #接收的比例
progress(percent,width=70) #进度条的宽度70

suprocess模块

import subprocess
obj = subprocess.Popen(
'tasklist', # 进程表
shell= True, # 用于打开cmd
stdout = subprocess.PIPE, # 正确管道
stderr = subprocess.PIPE # 错误管道
)
info = obj.stdout.read()
print(info.decode('GBK'))

  

python基础之re,sys,suprocess模块的更多相关文章

  1. Day14 Python基础之os/sys/hashlib模块(十二)

    os模块 os.getcwd()  #获取当前工作路径 os.chdir(‘dirname1/dirname2/dirname3’) #改变当前脚本的工作路径,相当于cmd下的cd os.makedi ...

  2. Python基础(12)_python模块之sys模块、logging模块、序列化json模块、pickle模块、shelve模块

    5.sys模块 sys.argv 命令行参数List,第一个元素是程序本身路径 sys.exit(n) 退出程序,正常退出时exit(0) sys.version 获取Python解释程序的版本信息 ...

  3. python基础 (序列化,os,sys,random,hashlib)

    1.序列化 定义: JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.简单地说,JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然 ...

  4. Python基础笔记系列十:模块

    本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! 模块 #1.类比于java中的jar包,模块能让你能够有逻辑地组织你的Py ...

  5. Py修行路 python基础 (二十三)模块与包

    一.模块 1)定义: 模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 2)为何要用模块: 退出python解释器然后重新进入,那之前定义的函数或者变量都将丢失,因 ...

  6. python基础之正则表达式和re模块

    正则表达式 就其本质而言,正则表达式(或 re)是一种小型的.高度专业化的编程语言,(在Python中)它内嵌在Python中,并通过 re 模块实现.正则表达式模式被编译成一系列的字节码,然后由用 ...

  7. Python基础(十)re模块

    Python基础阶段快到一段落,下面会陆续来介绍python面向对象的编程,今天主要是补充几个知识点,下面开始今天的内容. 一.反射 反射的作用就是列出对象的所有属性和方法,反射就是告诉我们,这个对象 ...

  8. 【笔记】Python基础七:正则表达式re模块

    一,介绍 正则表达式(RE)是一种小型的,高度专业化的编程语言,在python中它内嵌在python中,并通过re模块实现.正则表达式模式被编译成一系列的字节码,然后由C编写的匹配引擎执行. 字符匹配 ...

  9. python基础 ---time,datetime,collections)--时间模块&collections 模块

    python中的time和datetime模块是时间方面的模块 time模块中时间表现的格式主要有三种: 1.timestamp:时间戳,时间戳表示的是从1970年1月1日00:00:00开始按秒计算 ...

随机推荐

  1. python作业三级菜单day1(第一周)

    一.作业需求: 1. 运行程序输出第一级菜单 2. 选择一级菜单某项,输出二级菜单,同理输出三级菜单 3. 菜单数据保存在文件中 4. 让用户选择是否要退出 5. 有返回上一级菜单的功能 二三级菜单文 ...

  2. 11个让你吃惊的linux命令

    我已经用了十年的Linux了,通过今天这篇文章我将向大家展示一系列的命令.工具和技巧,我希望一开始就有人告诉我这些,而不是曾在我成长道路上绊住我. AD: 我已经用了十年的Linux了,通过今天这篇文 ...

  3. perl6 修改文件并覆盖

    use v6; my $filename = 'data.txt'; my $data = slurp $filename; say $data; $data ~~ s/'4'/'ABC'/; say ...

  4. supervisor error: <class 'socket.error'>, [Errno 110]

    supervisorctr status报错 error: <class 'socket.error'>, [Errno 110] Connection timed out: file: ...

  5. js-callee,call,apply概念

    JS - caller,callee,call,apply 概念[转载] 在提到上述的概念之前,首先想说说javascript中函数的隐含参数:arguments Arguments : 该对象代表正 ...

  6. java的关键字final

    final可以修饰类,成员方法,成员变量. 1.final修饰的类不能被继承,所以没有子类 final class First{ int num; } class Second extends Fir ...

  7. HDU-5273

    Dylans loves sequence Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/ ...

  8. 遇见Python.h: No such file or directory的解决方法

    出现No such file or directory的错误,有两种情况,一种是没有Python.h这个文件,一种是Python的版本不对, 可以进入/usr/include/文件夹下的Pythonx ...

  9. python mock的简单使用

    参考文章: http://blog.csdn.net/wenph2008/article/details/46862771 内容待填充...

  10. jdk1.6错误:no such provider: BC jdk1.6支持SSL问题

    程序调用https请求,由于jdk1.6只支持1024的DH,需要调整 1.在$JAVA_HOME/jre/lib/ext 下添加加密组件包 bcprov-jdk15on-1.52.jar和bcpro ...