首页 > 代码库 > python基础---常用模块(未完待续)

python基础---常用模块(未完待续)

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}         匹配nm次由前面的正则表达式定义的片段,贪婪方式

a|b       匹配ab

()         匹配括号内的表达式,也表示一个组

 

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             重用匹配格式

 

 

 

 

3time模块

Python中,通常有以下三种方式来计算时间:

a.时间戳:

时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型

 

b.格式化的时间字符串

c.结构化的时间

struct_time元组共有9个元素:(年,月,日,时,分,秒,一年中第几周,一年中第几天,夏令时)

 

4random模块

 

5os模块

 

6sys模块

 

7jsonpickle模块

 

8shelve模块


本文出自 “lyndon” 博客,请务必保留此出处http://lyndon.blog.51cto.com/11474010/1955312

python基础---常用模块(未完待续)