re模块(正则模块)
正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法。或者说:正则就是用来描述一类事物的规则。(在Python中)它内嵌在Python中,并通过 re 模块实现。正则表达式模式被编译成一系列的字节码,然后由用 C 编写的匹配引擎执行。
\w 匹配字母数字及下划线
\W 匹配非字母数字下划线
\s 匹配任意空白字符,等价于【\t\n\r\f】
\S 匹配任意非空字符
\d 匹配任意数字,等价于【0-9】
\D 匹配任意非数字
\A 匹配字符串
\Z 匹配字符串结束,如果是存在换行,只匹配到换行前的结束字符串
\z 匹配字符串结束
\G 匹配最后匹配完成的位置
\n 匹配一个换行符
\t 匹配一个制表符
^ 匹配字符串的开头
$ 匹配字符串的末尾
. 匹配任意字符,除了换行符,当re.DOTALL标记被指定时,则可以匹配包括换行符的任意字符
[…] 用来表示一组字符,单独列出:【amk】匹配’a’,’m’或‘k’
[^…] 不在[]中的字符
* 匹配0个或多个的表达式
+ 匹配1个或多个的表达式
? 匹配0个或1个由前面的正则表达式定义的片段,非贪婪方式
{n} 精确匹配n个前面表达式
{n,m} 匹配n到m次由前面的正则表达式定义的片段,贪婪方式
a|b 匹配a或b
() 匹配括号内的表达式,也表示一个组
import re print(re.findall(‘\w‘,‘hello_ | egon 123‘)) print(re.findall(‘\W‘,‘hello_ | egon 123‘)) print(re.findall(‘\s‘,‘hello_ | egon 123 \n \t‘)) print(re.findall(‘\S‘,‘hello_ | egon 123 \n \t‘)) print(re.findall(‘\d‘,‘hello_ | egon 123 \n \t‘)) print(re.findall(‘\D‘,‘hello_ | egon 123 \n \t‘)) print(re.findall(‘h‘,‘hello_ | hello h egon 123 \n \t‘)) print(re.findall(‘\Ahe‘,‘hello_ | hello h egon 123 \n \t‘)) print(re.findall(‘^he‘,‘hello_ | hello h egon 123 \n \t‘)) print(re.findall(‘123\Z‘,‘hello_ | hello h egon 123 \n \t123‘)) print(re.findall(‘123$‘,‘hello_ | hello h egon 123 \n \t123‘)) print(re.findall(‘\n‘,‘hello_ | hello h egon 123 \n \t123‘)) print(re.findall(‘\t‘,‘hello_ | hello h egon 123 \n \t123‘)) 输出: [‘h‘, ‘e‘, ‘l‘, ‘l‘, ‘o‘, ‘_‘, ‘e‘, ‘g‘, ‘o‘, ‘n‘, ‘1‘, ‘2‘, ‘3‘] [‘ ‘, ‘|‘, ‘ ‘, ‘ ‘] [‘ ‘, ‘ ‘, ‘ ‘, ‘ ‘, ‘\n‘, ‘ ‘, ‘\t‘] [‘h‘, ‘e‘, ‘l‘, ‘l‘, ‘o‘, ‘_‘, ‘|‘, ‘e‘, ‘g‘, ‘o‘, ‘n‘, ‘1‘, ‘2‘, ‘3‘] [‘1‘, ‘2‘, ‘3‘] [‘h‘, ‘e‘, ‘l‘, ‘l‘, ‘o‘, ‘_‘, ‘ ‘, ‘|‘, ‘ ‘, ‘e‘, ‘g‘, ‘o‘, ‘n‘, ‘ ‘, ‘ ‘, ‘\n‘, ‘ ‘, ‘\t‘] [‘h‘, ‘h‘, ‘h‘] [‘he‘] [‘he‘] [‘123‘] [‘123‘] [‘\n‘] [‘\t‘]
re模块提供的方法:
re.findall() 查找所有满足匹配条件的结果,放在列表中
re.search() 只找到第一个匹配到的然后返回一个包含匹配信息的对象,该对象可以通过调用group()方法得到匹配的字符串,如果字符串没有匹配,则返回None
re.match() 同search,不过在字符串开始出进行匹配,完全可以使用search+^代替match
re.split() 按匹配内容对对象进行分割
re.sub() 替换,(老的值,新的值,替换对象,替换次数),不指定替换次数,默认替换所有
re.subn() 同sub,不过结果中返回替换的次数
re.compile 重用匹配格式
3、time模块
Python中,通常有以下三种方式来计算时间:
a.时间戳:
时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型
b.格式化的时间字符串
c.结构化的时间
struct_time元组共有9个元素:(年,月,日,时,分,秒,一年中第几周,一年中第几天,夏令时)
4、random模块
5、os模块
6、sys模块
7、json和pickle模块
8、shelve模块