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. windows+nexus+maven环境搭建(转)

    windows nexus环境搭建 1.下载nexus 版本为 nexus-2.11.4-01-bundle 下载地址 这里写链接内容 2.将下载好的文件放到D盘进行解压 3.解压后目录结构 nexu ...

  2. windows下常用快捷键(转)

    原文转自 https://blog.csdn.net/LJFPHP/article/details/78818696 win+E                 打开文件管器 win+D        ...

  3. Python3 使用 urllib 编写爬虫

    什么是爬虫 爬虫,也叫蜘蛛(Spider),如果把互联网比喻成一个蜘蛛网,Spider就是一只在网上爬来爬去的蜘蛛.网络爬虫就是根据网页的地址来寻找网页的,也就是URL.举一个简单的例子,我们在浏览器 ...

  4. supervisor 简单使用

    supervisor是一个c/s系统,被用来在类Unix系统中监控进程状态.supervisor使用python开发. 服务端进程为supervisord,主要负责启动自身及其监控的子进程,响应客户端 ...

  5. net_dev_init

    Kernel: 4.12.6 网络设备初始化,主要包括初始化softnet_data,注册收发包软中断等: static int __init net_dev_init(void) { int i, ...

  6. HTML5API(4)

    十三.服务器推送 服务器主动向客户端推送信息 传统的HTTP协议传输,服务器是被动相应客户端的请求 1.解决方案 ajax轮询.ajax长轮询 Server-Send-Event WebSocket ...

  7. Author name disambiguation using a graph model with node splitting and merging based on bibliographic information

    Author name disambiguation using a graph model with node splitting and merging based on bibliographi ...

  8. spring使用aop需要的jar包,和常见异常

    3.0以后spring不再一起发布aop依赖包,需要自己导入: 必须包: 这几个jar包分别为 1.org.springframework.aop-3.1.1.RELEASE  这个是spring的 ...

  9. HDU-1151

    Air Raid Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Su ...

  10. Spring Boot with Docker

    翻译自:https://spring.io/guides/gs/spring-boot-docker/ Spring Boot with Docker 这篇教程带你一步步构建一个Docker镜像用来运 ...