python day5--正则表达式
#----正则表达式
import re
elink = '<a href="(.*)">(.*)</a>'
info = '<a href="http://www.baidu.com">baidu</a>'
cinfo = re.findall(elink,info)
print (cinfo)
import re
print(re.search (r'^a','abc\neee'))
#预期结果 ^匹配字符开头
# <_sre.SRE_Match object; span=(0, 1), match='a'>
data=(re.match('^zhang','zhangyazhang'))
print(data)
#<_sre.SRE_Match object; span=(0, 5), match='zhang'>
data.group() #获取到zhang这个值。
res=(re.match('^zhang\d','zhang123yazhang'))
print(res)
#<_sre.SRE_Match object; span=(0, 6), match='zhang1'> res=(re.match('^zhang\d+','zhang123yazhang'))
print(res)
#<_sre.SRE_Match object; span=(0, 8), match='zhang123'>
res=(re.match('.+','zhang123yazhang'))
print(res)
#匹配所有字符
#<_sre.SRE_Match object; span=(0, 15), match='zhang123yazhang'>
data=re.search('a.+d$','zhangabcd')
print(data)
#$匹配最后一个字符
#<_sre.SRE_Match object; span=(2, 9), match='angabcd'>
print(re.findall("ab+","ab+cd+abb+bba"))
#['ab', 'abb']
print(re.findall("ab*","cabcabb3bbac") )
#--匹配*号前的字符0次或多次 (解释*号前是b,匹配b 0次或多次,a是前面必须有的,匹配b零次)
#['ab', 'abb', 'a']
print(re.findall(r'\d+','a512b6'))
#['512', '6'] print(re.findall(r'\d+','one1two2three3four4'))
#['1', '2', '3', '4']
#-----sub的用法 --把content中的内容按link的模式替换成www.cnpythoner.com
import re
link = ("\d+")
content = "laowang-222haha"
info = re.sub(link,'www.cnpythoner.com',content)
print (info)
#laowang-www.cnpythoner.comhaha
等价于
print(re.sub("\d+",'www.cnpythoner.com',"laowang-222haha"))
导入包的质是执行包下的_init_.py文件
#bao\_init.py
def day_test():
print("in the day_test")
day_test() #bao_test.py
import bao
import导入模块
#--------main.py
def test():
print("in the test ")
test()
#--------module1.py
name = 'alex'
def test2():
print("in the test2") test2()
#---module.py执行
#import main,module1
# module1.test2()
# print(module1.name)
#---------另一种方式module.py执行
# from main import test
# from module1 import test2
# test()
# test2()
import re,time print(re.search("abc|ABC","ab1cABCBCD").group()) #ABC
print(re.search("[A-Za-z0-9]a","0aAB").group())#0aAB
print(re.findall("[0-9]{1,3}","aa1x2a34567")) #['1', '2', '345', '67'] print(re.search("(?P<province>[0-9]{4})(?P<city>[0-9]{2})(?P<birthday>[0-9]{4})","").groupdict("birthday"))
{'province': '', 'birthday': '', 'city': ''}
#'\n'是换行,'\t'是tab,'\\'是\
print(re.search("(?P<id>[0-9]+)","abcd1234daf@34").group()) #
print(re.search("(?P<id>[0-9]+)","abcd1234daf@34").groupdict(id)) #{'id': '1234'}
print(re.split("[0-9]+","avb12fsd2ff3tt5D"))#['avb', 'fsd', 'ff', 'tt', 'D']
print(re.sub("[0-9]+","|","ab1ee888iii0BBVV9$%"))#ab|ee|iii|BBVV|$%
print(re.sub("[0-9]+","|","ab1ee888iii0BBVV9$%",count=2))#ab|ee|iii0BBVV9$% import re
print (re.search("\s+", "ab- \r\n ") )
#<_sre.SRE_Match object; span=(3, 8), match=' \r\n '>
表示时间:1)时间戳 2)格式化的时间字符串 3)元组(struct_time) import time
res=time.time()
print(res)#1472142901.0856912
x=res/3600/24/365 #46.681345163802995
print(x) #1970+46=2016
print(time.localtime(323233211))
x=323233211/3600/24/365
print(x)#1970+10=1980 时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量
y=time.localtime(323233211)
print(y)
print(y.tm_year) #y=1980 y=time.localtime(323233211)
print(y)#struct
print(time.mktime(y))#元组转换成时间戳 323233211.0
#print(time.asctime()) #等于print(time.asctime(time.localtime()))
#Thu Aug 25 21:55:06 2016 print(time.asctime()) #等于print(time.asctime(time.localtime()))
#Thu Aug 25 21:55:06 2016 data=time.strptime("2016/08/25","%Y/%m/%d") #将日期字符串 转成 struct时间对象格式
print(data)
res=time.mktime(data) #将struct时间对象转成时间戳
print(res)
import datetime,time
print(datetime.datetime.now()) #2016-08-25 23:42:44.481994
print(datetime.date.fromtimestamp(time.time()) ) #2016-08-25
print(datetime.datetime.now()+datetime.timedelta(hours=3)) #当前时间+3小时
print(datetime.datetime.now()+datetime.timedelta(3)) #当前时间+3天
print(datetime.datetime.now()+datetime.timedelta(minutes=3))#当前时间+3分钟 c_time = datetime.datetime.now()
print(c_time) #打印当前时间
print(c_time.replace(minute=3,hour=2)) #时间替换
python day5--正则表达式的更多相关文章
- [python] 常用正则表达式爬取网页信息及分析HTML标签总结【转】
[python] 常用正则表达式爬取网页信息及分析HTML标签总结 转http://blog.csdn.net/Eastmount/article/details/51082253 标签: pytho ...
- Python 进阶 - 正则表达式
1. 正则表达式基础 1.1. 简单介绍 正则表达式并不是Python的一部分.正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十 ...
- python study - 正则表达式
第 7 章 正则表达式 7.1. 概览 7.2. 个案研究:街道地址 7.3. 个案研究:罗马字母 7.3.1. 校验千位数 7.3.2. 校验百位数 7.4. 使用 {n,m} 语法 7.4.1. ...
- python使用正则表达式文本替换
2D客户端编程从某种意义上来讲就是素材组织,所以,图片素材组织经常需要批量处理,python一定是最佳选择,不管是win/linux/mac都有一个简单的运行环境 举两个应用场景: 如果不是在某个文件 ...
- python的正则表达式 re
python的正则表达式 re 本模块提供了和Perl里的正则表达式类似的功能,不关是正则表达式本身还是被搜索的字符串,都可以是Unicode字符,这点不用担心,python会处理地和Ascii字符一 ...
- Python之正则表达式(re模块)
本节内容 re模块介绍 使用re模块的步骤 re模块简单应用示例 关于匹配对象的说明 说说正则表达式字符串前的r前缀 re模块综合应用实例 正则表达式(Regluar Expressions)又称规则 ...
- Python:正则表达式详解
正则表达式是一个很强大的字符串处理工具,几乎任何关于字符串的操作都可以使用正则表达式来完成,作为一个爬虫工作者,每天和字符串打交道,正则表达式更是不可或缺的技能,正则表达式的在不同的语言中使用方式可能 ...
- 【Python】正则表达式纯代码极简教程
<Python3正则表达式>文字版详细教程链接:https://www.cnblogs.com/leejack/p/9189796.html ''' 内容:Python3正则表达式 日期: ...
- 【Python】正则表达式简单教程
说明:本文主要是根据廖雪峰网站的正则表达式教程学习,并根据需要做了少许修改,此处记录下来以备后续查看. <Python正则表达式纯代码极简教程>链接:https://www.cnblogs ...
- 【转】Python之正则表达式(re模块)
[转]Python之正则表达式(re模块) 本节内容 re模块介绍 使用re模块的步骤 re模块简单应用示例 关于匹配对象的说明 说说正则表达式字符串前的r前缀 re模块综合应用实例 参考文档 提示: ...
随机推荐
- Function.prototype.bind接口浅析
本文大部分内容翻译自 MDN内容, 翻译内容经过自己的理解. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Glo ...
- datagridview自动增加行高度和显示全部内容
this.dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCellsExceptHeaders; //自动调动dat ...
- Android中的Handler机制
直接在UI线程中开启子线程来更新TextView显示的内容,运行程序我们会发现,如下错 误:android.view.ViewRoot$CalledFromWrongThreadException: ...
- PostgreSQL Replication之第十章 配置Slony(5)
10.5 给复制添加表和管理的问题 一旦我们增加了此表到系统中,我们可以将它添加到复制设置.这样做有点复杂.首先,我们必须创建我们自己的新表集合并把这个和我们已经有的表合并.因此,过一段时间,我们将有 ...
- Latex技巧
文件.tex 文件打开 error reading 版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://www.blogbus.com/jzhao-logs/27226136 ...
- Eclipse中进行Gradle+Jetty部署的web项目的断点调试
1.自行配置好build.gradle文件和按照gradle的web项目目录结构规范建立java.resourece和webapp文件夹 可在build.gradle文件中自由设定“http端口” 1 ...
- 20145207《Java程序设计》第7周学习总结
教材学习内容总结 一.Lambda -使用Lambda的特性可以去除重复的信息,以取得语法的简洁,增加程序代码的表达性.Lambda表达式本身是中性的,不代表任何类型的实例,同样的Lambda表达式, ...
- poj 题目分类(1)
poj 题目分类 按照ac的代码长度分类(主要参考最短代码和自己写的代码) 短代码:0.01K--0.50K:中短代码:0.51K--1.00K:中等代码量:1.01K--2.00K:长代码:2.01 ...
- Ubuntu 16.04 LTS Final Beta about JAVA
我们知道Ubuntu里可能会事先安装了openjdk.但是我习惯于Oracle jdk. ## < 卸载 openjdk > successfully: ### Terminal comm ...
- [转]SecureCRT使用配置详细图文教程
Secure CRT是一款支持 SSH2.SSH1.Telnet.Telnet/SSH.Relogin.Serial.TAPI.RAW 等协议的终端仿真程序,最吸引我的是,SecureCRT ...