python re模块(一)

一.匹配字符说明

‘.‘ 默认匹配除了换行符的所有字符,如果指定了DOTALL标志,那么.能够匹配所有字符

 ‘^‘匹配字符串的开头,如果是在multiline模式下,’^‘将匹配每行的开头

 ‘$‘匹配字符串的末尾,如果是在multiline模式下,’^‘将匹配每行的末尾

‘*‘ 将之前的字符重复0次及0次以上,例如ab*可匹配a,也可匹配abbbbbbbb

 ‘+‘ 将之前的字符重复1次及1次以上,例如ab+不可匹配a,但可匹配abbbbbbbb

‘?‘ 将之前的字符重复0次或者1次

{m} 将之前的字符重复m次

 {m,n}将之前的字符重复m到n次

{,n} 将之前的字符重复0到n次

{m,}将之前的字符重复m到无限次

 *?,+?,??,{m,n}? 如果没有在后面加?,那么*,+,?在匹配时会尽量匹配更多的字符串,如<.*>在匹配<h>hello world</h>时会匹配<h>hello world</h>,而不是<h>,加           上?后匹配的字符第一次满足要求后就会停止匹配,那么<.*?>就能匹配<h>

\  \的作用使得能够匹配*,?,+正常下不能匹配的字符,用\转义后即可匹配

 [] 标识一系列能够希望被匹配的字符,[a-z]匹配所有的小写字母,加上^如[^a-z]则匹配除了a-z的字符

|  如a|b 可以匹配a或者b

(?=...)  表示该位置后面的字符是...表示开始匹配,并且匹配是从...开始匹配,而不是从...后开始匹配

(?!...)  表示该位置后面的字符不是...时才表示开始匹配,并且匹配是从...开始匹配,而不是从...后开始匹配

(?<=...) 标识从...后才开始进行匹配,并且是从...后开始匹配

\w 表示[a-zA-Z0-9]

 \W表示[^a-zA-Z0-9]

 \s表示空白字符,[\t\n\r\f\v]

\S表示非空白字符,[^\t\n\r\f\v]

\d [0-9]

\D [^0-9]

\b匹配空白字符,以及非字母数字下划线的字符

\B \b的补集

时间: 2024-10-20 17:01:56

python re模块(一)的相关文章

python之模块ctypes

# -*- coding: utf-8 -*- #python 27 #xiaodeng #python之模块ctypes import ctypes #ctypes是python的一个外部库,它提供了C兼容的数据类型,并允许调用函数C DLL. #注意事项: #就我个人目前而言,了解该库是提供与C语言数据类型兼容的接口作用即可,不需要深入了解.

python shutil模块总结

shutil.copyfile(src,dst)复制文件,如果存在会覆盖 copymode( src, dst)复制权限 copystat(src, dst)复制访问时间和修改时间和权限 copy(src, dst) 复制文件到一个目录 copy2(src, dst)在copy上的基础上再复制文件最后访问时间与修改时间也复制过来了,类似于cp –p的东西 rmtree(path[, ignore_errors[, onerror]])删除文件 move(src, dst)move文件 copyt

python及其模块下载集合

1)python平台 https://www.python.org/downloads/ 2)打包工具 cx-freeze(python3以上版本打包工具) http://cx-freeze.sourceforge.net/ py2exe http://sourceforge.net/projects/py2exe/files/py2exe/ Pyinstaller http://www.pyinstaller.org/ ensymble(电脑端pythonS60打包工具) http://cod

python——常用模块

time.asctime(time.localtime(1234324422)) python--常用模块 1 什么是模块: 模块就是py文件 2 import time #导入时间模块 在Python中,通常有这三种方式来表示时间:时间戳.元组(struct_time).格式化的时间字符串: (1)时间戳(timestamp) :通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量.我们运行"type(time.time())",返回的是float类型.

[转]python pickle模块

持久性就是指保持对象,甚至在多次执行同一程序之间也保持对象.通过本文,您会对 Python对象的各种持久性机制(从关系数据库到 Python 的 pickle以及其它机制)有一个总体认识.另外,还会让您更深一步地了解Python 的对象序列化能力. 什么是持久性? 持久性的基本思想很简单.假定有一个 Python 程序,它可能是一个管理日常待办事项的程序,您希望在多次执行这个程序之间可以保存应用程序对象(待办事项).换句话说,您希望将对象存储在磁盘上,便于以后检索.这就是持久性.要达到这个目的,

python之模块py_compile用法(将py文件转换为pyc文件)

# -*- coding: cp936 -*- #python 27 #xiaodeng #python之模块py_compile用法(将py文件转换为pyc文件) #二进制文件,是由py文件经过编译后,生成的文件. ''' import py_compile #不带转义r py_compile.compile('D:\test.py') Traceback (most recent call last): File "<pyshell#1>", line 1, in &l

python之模块pprint之常见用法

# -*- coding: cp936 -*- #python 27 #xiaodeng #python之模块pprint之常见用法 import pprint data = [(1,{'a':'A','b':'B','c':'C','d':'D'}),(2,{'e':'E','f':'F','g':'G','h':'H','i':'I','j':'J','k':'K','l':'L'}),] print '--'*30 #1.打印效果 pprint.pprint (data) ''' ----

python之模块hashlib(提供了常见的摘要算法,如MD5,SHA1等等)

# -*- coding: utf-8 -*- #python 27 #xiaodeng #python之模块hashlib(提供了常见的摘要算法,如MD5,SHA1等等) #http://www.cnblogs.com/BeginMan/p/3328172.html #以常见的摘要算法MD5为例,计算出一个字符串的MD5值 import hashlib m = hashlib.md5() #创建hash对象 m.update('xiaodeng') #更新哈希对象以字符串参数 print m.

python之模块ftplib(实现ftp上传下载代码)

# -*- coding: utf-8 -*- #python 27 #xiaodeng #python之模块ftplib(实现ftp上传下载代码) #需求:实现ftp上传下载代码(不含错误处理) from ftplib import FTP def ftpconnect(): ftp_server='ftp.python.org' ftp=FTP() ftp.set_debuglevel(2)#打开调式级别2 ftp.connect(ftp_server,21) ftp.login('',''

python之模块ftplib(FTP协议的客户端)

# -*- coding: utf-8 -*- #python 27 #xiaodeng #python之模块ftplib(FTP协议的客户端) #需求:快速进行ftp上传 ,下载,查询文件 from ftplib import FTP ftp = FTP() #设置变量 timeout = 30 port = 21 ftp.connect('192.168.1.188',port,timeout) # 连接FTP服务器 ftp.login('UserName','888888') # 登录 p