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,timeprint(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})","371419938106143242").groupdict("birthday"))
{'province': '3714', 'birthday': '9381', 'city': '19'}
#'\n'是换行,'\t'是tab,'\\'是\
print(re.search("(?P<id>[0-9]+)","abcd1234daf@34").group()) #1234
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 2016print(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)) #时间替换

 

 

转载于:https://www.cnblogs.com/xuehuahongmei/p/5808898.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/254592.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WCF系列教程之WCF客户端调用服务

1、创建WCF客户端应用程序需要执行下列步骤 (1)、获取服务终结点的服务协定、绑定以及地址信息 (2)、使用该信息创建WCF客户端 (3)、调用操作 (4)、关闭WCF客户端对象 二、操作实例 1、WCF服务层搭建:新建契约层、服务层、和WCF宿主,添加必须的引用(这里不会的参考本人前面的随…

短信认证方案,用手机短信进行上网认证如何实现?

WFilter NGF的“Web认证”模块&#xff0c;提供了一系列的上网认证解决方案。包括如下认证方式&#xff1a;本地用户名密码认证AD域用户名密码认证企业邮箱用户名密码认证Radius用户名密码认证微信WiFi认证Facebook Wifi认证除此&#xff0c;WFilter NGF还有一个“其他”的选项…

Nginx 之一:编译安装nginx 1.8.1 及配置

转http://www.cnblogs.com/zhang-shijie/p/5294162.html 一&#xff1a;基介绍 官网地址www.nginx.org&#xff0c;nginx是由1994年毕业于俄罗斯国立莫斯科鲍曼科技大学的同学为俄罗斯rambler.ru公司开发的&#xff0c;开发工作最早从2002年开始&#xff0c;第一次公开发布时间…

PI校正环节的程序实现推导过程

PI校正环节在经典控制论中非常有用&#xff0c;特别是对负反馈控制系统&#xff0c;基本上都有PI校正环节。1.下面分别说明比例环节和积分环节的作用&#xff0c;以阶跃信号为例。①比例环节单独作用以上分析说明&#xff0c;若只有比例环节的控制系统&#xff0c;阶跃响应也是…

vs里根据json快速创建对应类的方法

有时候,我们在调用别人接口的时候,服务端返回了一个json格式的字符串,我们要获取json里面的数据的话一般有两种方式: 1.通过正则 2.反序列化成一个对象 第一种方式这里不再多说,主要说一下第二种,(为什么呢&#xff0c;你看到后面 你也会喜欢上第二种) 有人肯定会说, json字符串…

人工智能之基于face_recognition的人脸检测与识别

不久乘高铁出行&#xff0c;看见高铁火车站已经实现了“刷脸进站”&#xff0c;而且效率很高&#xff0c;很感兴趣&#xff0c;今天抽时间研究一下&#xff0c;其实没那么复杂。 我基本上是基于https://github.com/ageitgey/face_recognition上的资料和源码做一些尝试和试验。 …

iOS 升级https的方案选择

我的选择是将UIWebView统一替换为WKWebView WKWebView AFN SDWebImage https的支持之前的博客都有涉及转载于:https://www.cnblogs.com/Jusive/p/6867531.html

Python3抓取糗百、不得姐

​点击关注 异步图书&#xff0c;置顶公众号 每天与你分享 IT好书 技术干货 职场知识 重要提示1:本文所列程序均基于Python3.6,低于Python3.6的Python版本可能无法运行.重要提示2:因所抓取的网站可能随时更改展示内容,因此程序也需及时跟进.重要提示3:本程序仅供学习,不能拿去做…

Oracle优化-表设计

前言  绝大多数的Oracle数据库性能问题都是由于数据库设计不合理造成的&#xff0c;只有少部分问题根植于Database Buffer、Share Pool、Redo Log Buffer等内存模块配置不合理&#xff0c;I/O争用&#xff0c;CPU争用等DBA职责范围上。所以除非是面对一个业已完成不可变更的系…

Win10远程桌面 出现 身份验证错误,要求的函数不受支持,这可能是由于CredSSP加密Oracle修正 解决方法...

升级至win10 最新版本10.0.17134&#xff0c;远程桌面连接Window Server时报错信息如下&#xff1a; 出现身份验证错误&#xff0c;要求的函数不正确&#xff0c;这可能是由于CredSSP加密Oracle修正。 解决方法&#xff1a; 运行 gpedit.msc 本地组策略&#xff1a; 计算机配置…

Rsyslog 日志相关内容

[rootserver vusers_home]# rpm -ql rsyslog|more ###.so结尾为模块&#xff0c;模块有分im为输入模块&#xff0c;om 为输出模块/etc/logrotate.d/syslog/etc/pki/rsyslog/etc/rc.d/init.d/rsyslog/etc/rsyslog.conf/etc/rsyslog.d/etc/sysconfig/rsyslog/lib64/rsyslog…

MFC导出对话框类DLL的实现

1.新建基于对话框的应用程序 2.新建MFC DLL工程 3.选择MFC DLL 4.选择扩展Dll选项&#xff08;重要&#xff01;&#xff01;&#xff01;&#xff09; 5.为Dll工程添加一个MFC类&#xff0c;基类为CDialogEx 6.Dll新建的MFC 类中添加resource.h防止编译出错…

身于“乱世”,我们程序员应该如何打算?

今天看了这篇文章&#xff0c; 发现自己也有点生处乱世&#xff0c;不平之感&#xff0c;但是文章的朴实却让我有了一个良好的反省&#xff0c;特此转载 分类&#xff1a; 项目管理 2011-09-04 00:58 770人阅读 评论(12) 收藏 举报 不仅要低头拉车&#xff0c;还要抬头看路。…

es6--箭头函数

基本用法 ES6允许使用“箭头”&#xff08;>&#xff09;定义函数。 var f v > v; 上面的箭头函数等同于&#xff1a; var f function(v) {return v; }; 如果箭头函数不需要参数或需要多个参数&#xff0c;就使用一个圆括号代表参数部分。 var f () > 5; // 等同于…

NYOJ题目839合并

--------------------------- AC代码&#xff1a; 1 import java.util.Scanner;2 3 public class Main {4 5 public static void main(String[] args) {6 7 8 Scanner scnew Scanner(System.in);9 10 int timessc.nextInt(); 11 …

python多进程

2019独角兽企业重金招聘Python工程师标准>>> python多进程 进程简介 进程是程序在计算机上的一次执行活动。当你运行一个程序&#xff0c;你就启动了一个进程。显然&#xff0c;程序是死的(静态的)&#xff0c;进程是活的(动态的)。进程可以分为系统进程和用户进程。…

夺命雷公狗---node.js---20之项目的构建在node+express+mongo的博客项目5mongodb在项目中实现添加数据...

我们上一步就引入了mongodb了&#xff0c;那么下一步就要开始写添加数据了&#xff0c;不过有个前提是先将表单的数据处理好&#xff1a; 最基本的这部现在已经成功了&#xff0c;因为最基本的这步就是先将表单处的提交方式和提交地址给处理好&#xff0c;这里和PHP的基本上是一…

音频中采样位数,采样率,比特率的名词解释(转)

采样位数&#xff08;采样大小&#xff09;&#xff1a; 采样位数可以理解为采集卡处理声音的解析度。这个数值越大&#xff0c;解析度就越高&#xff0c;录制和回放的声音就越真实。我们首先要知道&#xff1a;电脑中的声音文件是用数字0和1来表示的。所以在电脑上录音的本质就…

WebSocket实时异步通信

WebSocket实时异步通信 【一】WebSocket简介 WebSocket是HTML5推出一个协议规范&#xff0c;用来B/S模式中服务器端和客户端之间进行实时异步通信。 众所周知&#xff0c;传统的HTTP协议中&#xff0c;服务器端和客户端通信只能是在客户端发送一个请求之后&#xff0c;服务器端…

多线程和多进程的区别(小结)

分类&#xff1a; linux 2009-06-19 09:33 11501人阅读 评论(15) 收藏 举报 很想写点关于多进程和多线程的东西&#xff0c;我确实很爱他们。但是每每想动手写点关于他们的东西&#xff0c;却总是求全心理作祟&#xff0c;始终动不了手。 今天终于下了决心&#xff0c;写点东西…