re模块 时间模块
# 正则模块
'''
正则就是用一些具有特殊含义的符号组合到一起用来描述字符或字符串的方法
或者说,正则就是用来描述一类事物的规则
它内嵌在python中,并通过re模块实现
正则表达式模式被编译成一系列的字节码,然后由用c编写的匹配引擎执行
'''
'''
生活中处处都是正则
比如,描述:四条腿
四条腿的动物或者桌子椅子
继续描述:活的
四条腿的动物
'''
'''
\w 匹配字母数字及下划线
\W 匹配非字母数字及下划线
\s 匹配任意空白字符
\S 匹配任意空白字符
\d 匹配任意数字
\D 匹配任意非数字
\n 匹配一个换行符
\t 匹配一个制表符
^ 匹配字符串的开头
$ 匹配字符串的末尾
'''
# import re
# print(re.findall('\w','egon 123 + - _ *')) # ['e', 'g', 'o', 'n', '1', '2', '3', '_']
# print(re.findall('\W','egon 123 + - _ *')) # [' ', ' ', '+', ' ', '-', ' ', ' ', '*']
# print(re.findall('\s','egon 123 + \n \t - _ *')) # [' ', ' ', ' ', '\n', ' ', '\t', ' ', ' ', ' ']
# print(re.findall('\S','egon 123 + \n \t - _ *')) # ['e', 'g', 'o', 'n', '1', '2', '3', '+', '-', '_', '*']
# print(re.findall('\d','egon 123 + \n \t - _ *')) # ['1', '2', '3']
# print(re.findall('\D','egon 123 + \n \t - _ *')) # ['e', 'g', 'o', 'n', ' ', ' ', '+', ' ', '\n', ' ', '\t', ' ', '-', ' ', '_', ' ', '*']
# print(re.findall('\n','egon 123 + \n \t - _ *')) # ['\n']
# print(re.findall('\t','egon 123 + \n \t - _ *')) # ['\t']
# print(re.findall('e','egon 123 + \n \t - e _ *')) #['e', 'e']
# print(re.findall('^e','egon 123 + \n \t - _ *')) # ['e']
# print(re.findall('^e','aegon 123 + \n \t - _ *')) # []
# print(re.findall('o','egon 123 + hello')) # ['o', 'o']
# print(re.findall('o$','egon 123 + hello')) # ['o']
# print(re.findall('o$','egon 123 + helloa')) # []
'''
. 代表任意一个字符 不能匹配换行符
? 代表?左边的字符出现0次或者1次
* 代表*号左边的字符出现0次或者无穷次
+ 代表+号左边的字符出现1次或者无穷次
{m,n} 代表左边的字符出现m次到n次
.* 贪婪匹配 匹配不够标准 一般是有害的
.*? 非 贪婪匹配
'''
# print(re.findall('a.b','a1b a b a-b aaaaaaaaabbbb')) # ['a1b', 'a b', 'a-b', 'aab']
# print(re.findall('a.b','a1b a b a\nb a-b aaaaaaaaabbbb')) # ['a1b', 'a b', 'a-b', 'aab']
# print(re.findall('a.b','a1b a b a\nb a-b aaaaaaaaabbbb',re.DOTALL)) # ['a1b', 'a b', 'a\nb', 'a-b', 'aab']
# print(re.findall('ab?','a ab a1b a b a\nb a-b aaaaaaaaabbbb')) # ['a', 'ab', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'ab']
# print(re.findall('ab*','a ab a1b a b a\nb a-b aaaaaaaaabbbb')) # ['a', 'ab', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'abbbb']
# print(re.findall('ab+','a ab a1b a b a\nb a-b aaaaaaaaabbbb')) # ['ab', 'abbbb']
# print(re.findall('ab?','a ab a1b a b a\nb a-b aaaaaaaaabbbb'))
# print(re.findall('ab{0,1}','a ab a1b a b a\nb a-b aaaaaaaaabbbb'))
'''
['a', 'ab', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'ab']
['a', 'ab', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'ab']
'''
# print(re.findall('ab*','a ab a1b a b a\nb a-b aaaaaaaaabbbb'))
# print(re.findall('ab{0,}','a ab a1b a b a\nb a-b aaaaaaaaabbbb'))
'''
['a', 'ab', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'abbbb']
['a', 'ab', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'abbbb']
'''
# print(re.findall('ab+','a ab a1b a b a\nb a-b aaaaaaaaabbbb'))
# print(re.findall('ab{1,}','a ab a1b a b a\nb a-b aaaaaaaaabbbb'))
'''
['ab', 'abbbb']
['ab', 'abbbb']
'''
# print(re.findall('ab{1,4}','a ab a1b abbbbb b a\nb a-b aaaaaaaaabbbb')) # ['ab', 'abbbb', 'abbbb']
# print(re.findall('a.*b','a ab xxxyya123b345b a123ba456b'))
# print(re.findall('a.*b','xxxyya123b345b a123ba456b'))
'''
['a ab xxxyya123b345b a123ba456b']
['a123b345b a123ba456b']
'''
# print(re.findall('a.*?b','a ab xxxyya123b345b a123ba456b'))
# print(re.findall('a.*?b','xxxyya123b345b a123ba456b'))
'''
['a ab', 'a123b', 'a123b', 'a456b']
['a123b', 'a123b', 'a456b']
'''
# print(re.findall('compan(y|iess)','too many companiess have gone company bankrupt,and the next cpompan one is whos company'))
# print(re.findall('compan(?:y|iess)','too many companiess have gone company bankrupt,and the next cpompan one is whos company'))
'''
['iess', 'y', 'y']
['companiess', 'company', 'company']
'''
# print(re.findall('href="(.*?)"','<a href="http://www.baidu.com">点击我</a>'))
'''
['http://www.baidu.com']
'''
# rawstring
# print(re.findall(r'a\\c','a\c a1c abc'))
# print(re.findall('a\\\c','a\c a1c abc'))
# print(re.findall('a\\\\c','a\c a1c abc'))
'''
['a\\c']
['a\\c']
['a\\c']
'''
# [] 取[]内任意的一个
# print(re.findall('a[a-z]b','acb aDb a-b aob a1b a\b')) # ['acb', 'aob']
# print(re.findall('a[A-Z]b','acb aDb a-b aob a1b a\b')) # ['aDb']
# print(re.findall('a[a-zA-Z]b','acb aDb a-b aob a1b a\b')) # ['acb', 'aDb', 'aob']
# print(re.findall('a[0-9]b','acb aDb a-b aob a1b a\b')) # ['a1b']
# print(re.findall('a[-+*/]b','acb aDb a-b aob a1b a\b')) # ['a-b'] # print(re.findall('a[^-+*/]b','acb aDb a-b aob a1b a\b')) # ['acb', 'aDb', 'aob', 'a1b']
# print(re.findall(r'a[^-+*/]b','acb aDb a-b aob a1b a\b'))
# print(re.findall('ra[^-+*/]b','acb aDb a-b aob a1b a\b'))
# print(re.findall('a[^-+*/]b',r'acb aDb a-b aob a1b a\b'))
# print(re.findall('a[^-+*/]b','acb aDb a-b aob a1b a\\b'))
'''
['acb', 'aDb', 'aob', 'a1b']
['acb', 'aDb', 'aob', 'a1b']
[]
['acb', 'aDb', 'aob', 'a1b', 'a\\b']
['acb', 'aDb', 'aob', 'a1b', 'a\\b']
''' # re模块的其他方法
# re.search() 只取一个
# print(re.search('a[^-+*/]b','acb aDb a-b aob a1b a9b a\b'))
# print(re.search('a[*]b','acb aDb a-b aob a1b a9b a\b'))
# print(re.search('a[0-9]b','acb aDb a-b aob a1b a9b a\b'))
# print(re.search('a[0-9]b','acb aDb a-b aob a1b a9b a\b').group())
'''
<re.Match object; span=(0, 3), match='acb'>
None
<re.Match object; span=(16, 19), match='a1b'>
a1b
'''
# re.match()
# print(re.match('a[0-9]b','a0b acb aDb a-b aob a1b a9b').group()) # a0b
# print(re.search('^a[0-9]b','a0b acb aDb a-b aob a1b a9b').group()) # a0b
# re.split()
# print(re.split(':','root:x:0:0::/root:/bin/bash')) # ['root', 'x', '0', '0', '', '/root', '/bin/bash']
# print(re.split(':','root:x:0:0::/root:/bin/bash',maxsplit=1)) # ['root', 'x:0:0::/root:/bin/bash']
# re.sub() 替换
# print(re.sub('root','admin','root:x:0:0::/root:/bin/bash')) # admin:x:0:0::/admin:/bin/bash
# print(re.sub('root','admin','root:x:0:0::/root:/bin/bash',1)) # admin:x:0:0::/root:/bin/bash
# print(re.sub('^([a-zA-Z]+)([^a-zA-Z])(.*?)([^a-zA-Z])([a-zA-Z]+)$',r'\5\2\3\4\1','root:x:0:0::/root:/bin/bash')) # bash:x:0:0::/root:/bin/root
# re.compile()
# import re
# obj=re.compile('a\d{2}b')
# print(obj.findall('a12b a123b a12345b abbb')) # ['a12b']
# print(obj.search('a12b a123b a12345b abbb'))
# print(obj.search('a12b a123b a12345b abbb').group())
'''
<re.Match object; span=(0, 4), match='a12b'>
a12b
'''
# import time
# print(time.time()) # 1576152639.0129972 时间戳 一般用来计量时间
# print(time.localtime()) # 本地时区 东八区
# print(time.gmtime()) # 标准时间
'''
time.struct_time(tm_year=2019, tm_mon=12, tm_mday=12, tm_hour=20, tm_min=12, tm_sec=26, tm_wday=3, tm_yday=346, tm_isdst=0)
time.struct_time(tm_year=2019, tm_mon=12, tm_mday=12, tm_hour=12, tm_min=12, tm_sec=26, tm_wday=3, tm_yday=346, tm_isdst=0)
'''
# print(time.strftime('%Y-%m-%d %H-%M-%S'))
# print(time.strftime('%Y-%m-%d %X'))
'''
2019-12-12 20-16-10
2019-12-12 20:16:10
'''
# 了解
# print(time.localtime(time.time())) # time.struct_time(tm_year=2019, tm_mon=12, tm_mday=12, tm_hour=20, tm_min=20, tm_sec=13, tm_wday=3, tm_yday=346, tm_isdst=0)
# print(time.gmtime(time.time())) # time.struct_time(tm_year=2019, tm_mon=12, tm_mday=12, tm_hour=12, tm_min=21, tm_sec=51, tm_wday=3, tm_yday=346, tm_isdst=0)
# print(time.mktime(time.localtime())) # 1576153398.0
# print(time.strftime('%Y-%m-%d',time.localtime())) # 2019-12-12
# print(time.strptime('2019-12-12','%Y-%m-%d')) # time.struct_time(tm_year=2019, tm_mon=12, tm_mday=12, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=346, tm_isdst=-1)
# print(time.asctime(time.localtime()))
# print(time.ctime())
'''
Thu Dec 12 20:28:03 2019
Thu Dec 12 20:28:03 2019
'''
# datetime
# import datetime
# print(datetime.datetime.now()) # 2019-12-12 20:30:13.626072
# print(datetime.datetime.fromtimestamp(111111)) # 1970-01-02 14:51:51
# print(datetime.datetime.now()+datetime.timedelta(days=3))
# print(datetime.datetime.now()+datetime.timedelta(days=-3))
# print(datetime.datetime.now()+datetime.timedelta(hours=3))
# print(datetime.datetime.now()+datetime.timedelta(minutes=3))
# print(datetime.datetime.now()+datetime.timedelta(seconds=3))
'''
2019-12-15 20:34:16.275172
2019-12-09 20:34:16.275172
2019-12-12 23:34:16.275172
2019-12-12 20:37:16.275172
2019-12-12 20:34:19.275172
'''
# print(datetime.datetime.now().replace(year=1999,hour=12)) # 1999-12-12 12:35:44.337966
re模块 时间模块的更多相关文章
- Python常用模块-时间模块(time&datetime)
Python常用模块-时间模块(time & datetime) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.初始time模块 #!/usr/bin/env pyth ...
- 模块-时间模块(new)
模块-时间模块 导入: import time 方法: _STRUCT_TM_ITEMS __doc__ __loader__ __name__ __package__ __spec__ altzon ...
- Python常用模块-时间模块
在写代码的过程中,我们常常需要与时间打交道,在python中,与时间处理有关的模块有time,datetime和calendar.,这里主要介绍time和datetime模块 在python中,表示时 ...
- random 模块 时间模块(time) sys模块 os模块
random 模块 1.随机小数 random.random() 0-1内的随机小数 random.uniform(1,5) 1-5范围内的随机小数 2.随机整数 random.randint( ...
- day 18 random模块 时间模块 sys模块 os模块
import random 利用random模块可以进行从一个列表或者数字范围之间随机取出一个数字 # 取随机小数 : 数学计算 print(random.random()) # 取0-1之间的小数 ...
- 常用模块(collections模块,时间模块,random模块,os模块,sys模块,序列化模块,re模块,hashlib模块,configparser模块,logging模块)
认识模块 什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类别: 1 使用python编写的 ...
- Python——模块——时间模块
1.time模块 (1)时间戳 >>> time.time() 1472016249.393169 (2)将时间戳转换成当前时间元祖 time.localtime()time.gmt ...
- random随机模块,time时间模块
random /随机模块: 作用: 在某个范围内取到每一个值得概率是相通的. 一.随机小数 random.random() import random print(random.random()) ...
- Python_Mix*random模块,time模块,sys模块,os模块
random模块 作用: 生成随机数(整数,小数,从列表中随机抽值,打乱列表顺序) 常用函数: random.random( )生成随机小数 random.uniform( )取一个范围之间的小数 r ...
随机推荐
- win7下面安装flex和bison
通过Cygwin工具进行安装 下载地址cygwin 安装截图: 搜索flex,选择相应的版本进行安装 搜索bison 然后下一步 安装完成后,将D:\cygwin64\bin路径添加到PATH环境变量 ...
- winform最小化及添加右键
private void PrintService_SizeChanged(object sender, EventArgs e) { if (this.WindowState == FormWind ...
- 002-es5.4.3结合spring-data-elasticsearch3.0.0.0使用
一.使用前设置 1.elasticsearch开启 cmd下,进入安装目录 cd D:\developToool\elasticsearch-5.4.3 elasticsearch # 或者后台运行 ...
- 记录新建dorado项目更新规则中报错
异常: Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Er ...
- 阶段1 语言基础+高级_1-3-Java语言高级_1-常用API_1_第6节 static静态_15_静态代码块
static的特殊用法, 静态代码块 加上构造方法,做测试 又创建一个对象 静态代码块 只执行一次 后续在学习jdbc的时候,静态代码块很有用途.
- delphi开发实例:保存字体设置的方法
http://blog.csdn.net/delphi308/article/details/9906147 delphi开发实例:保存字体设置的方法 2013-08-11 22:37 446人阅读 ...
- 搭建 Git 服务器(基于 CentOS 7)
服务器上的-Git-架设服务器-官网参考 对于规模比较小的团队,可以直接搭建 Git 服务器,逐个收集研发同学的证书配置进来即可.如果团队规模比较大,可以直接采用 GitLab.Drone 等现成的带 ...
- python 正则表达式 re.findall &re.finditer
语法: findall 搜索string,以列表形式返回全部能匹配的子串 re.findall(pattern, string[, flags]) finditer 搜索string,返回一个顺序访问 ...
- [19/05/04-星期六] 正则表示式(Regular Expression)
一.概念 语法: \D :就是不是0-9数字的其它字符: \W:与\w相反: a\d?b:表示在字符a和b之间可以有一个数字或者没有数字都可以:如:ab .a3b a\d+b:表示在字符a和b之间至少 ...
- mysql字符串拆分实现split功能
转自:https://blog.csdn.net/pjymyself/article/details/81668157有分隔符的字符串拆分题目要求数据库中 num字段值为: 实现的效果:需要将一行数据 ...