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})","371419938106143242").groupdict("birthday"))
{‘province‘: ‘3714‘, ‘birthday‘: ‘9381‘, ‘city‘: ‘19‘}
#‘\n‘是换行,‘\t‘是tab,‘\\‘是\
print(re.search("(?P<id>[0-9]+)","[email protected]").group()) #1234
print(re.search("(?P<id>[0-9]+)","[email protected]").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)) #时间替换
 
时间: 2024-08-04 21:54:24

python day5--正则表达式的相关文章

python 中正则表达式

. 匹配除换行符以外的任意字符 \w 匹配字母或数字或下划线或汉字 \s 匹配任意的空白符 \d 匹配数字 \b 匹配单词的开始或结束 ^ 匹配字符串的开始 $ 匹配字符串的结束 代码/语法 说明 * 重复零次或更多次 + 重复一次或更多次 ? 重复零次或一次 {n} 重复n次 {n,} 重复n次或更多次 {n,m} 重复n到m次 [aeiou]就匹配任何一个英文元音字母,[.?!]匹配标点符号(.或?或!). [0-9]代表的含意与\d就是完全一致的:一位数字:同理[a-z0-9A-Z_]也完

python用正则表达式怎么查询unicode码字符

import re data = open('a.txt') fh = open('b.txt', 'w') """Search the string begining with '['""" p = re.compile(r'\s*[\u3010]') for each_d in data: if re.match('\s*3\d{4}', each_d): each_d = each_d.strip() print(each_d + ': '

【python】正则表达式

在python中,所有和正则表达式相关的功能都包含在re模块中. $表示字符串的末尾,^表示字符串的开始,原始字符串:字符串添加前缀r,表示字符串中的所有字符都不转义.\b表示单词的边界必须在这里. s="100 BROAD" re.sub('ROAD$','RD',s) 结果:'100 BRD' re.sub(r'\bROAD$','RD',s) 结果:100 BROAD M?可选地匹配单个字符,要么一个M,要么没有M.re模块的关键是一个search函数,该函数由两个参数,一个是正

python使用正则表达式文本替换

2D客户端编程从某种意义上来讲就是素材组织,所以,图片素材组织经常需要批量处理,python一定是最佳选择,不过是win/linux/mac都有一个简单的运行环境 举两个应用场景: 如果不是在某个文件夹里面则将文件夹名称插入前面 所有的文件名名称加上一个前缀 直接看代码吧 # encoding: UTF-8 import re # 将正则表达式编译成Pattern对象 p = re.compile(r'(?P<folder>(\w+/)*)(?P<filename>\w+\.png

Python使用正则表达式替换源码前序号

从博客园或其它地方拷贝代码,经常前面有代码序号,像下面这个样子: 1 wbContent.Navigate(vURL); 2  3     Result:=GetHtml(wbContent); 4  5     while not ContainsText(Result,'共找到') do 6     begin 7       Sleep(100); 8       Application.ProcessMessages; 9       Result:=GetHtml(wbContent)

python study - 正则表达式

第 7 章 正则表达式 7.1. 概览 7.2. 个案研究:街道地址 7.3. 个案研究:罗马字母 7.3.1. 校验千位数 7.3.2. 校验百位数 7.4. 使用 {n,m} 语法 7.4.1. 校验十位数和个位数 7.5. 松散正则表达式 7.6. 个案研究:解析电话号码 7.7. 小结 正则表达式是搜索.替换和解析复杂字符模式的一种强大而标准的方法.如果你曾经在其他语言 (如 Perl) 中使用过它,由于它们的语法非常相似,你仅仅阅读一下 re 模块的摘要,大致了解其中可用的函数和参数就

Python爬虫-正则表达式

正则表达式 只提取关注的数据,进行数据赛选 原子: 基本组成单位 普通的字符 非打印支付 通用字符 普通的字符 >>> import re >>> pat="yue" >>> string="http://yum.iqianyue.com" >>> rst1=re.search(pat,string) >>> print(rst1) <_sre.SRE_Match obj

python的正则表达式 re

python的正则表达式 re 本模块提供了和Perl里的正则表达式类似的功能,不关是正则表达式本身还是被搜索的字符串,都可以是Unicode字符,这点不用担心,python会处理地和Ascii字符一样漂亮. 正则表达式使用反斜杆(\)来转义特殊字符,使其可以匹配字符本身,而不是指定其他特殊的含义.这可能会和python字面意义上的字符串转义相冲突,这也许有些令人费解.比如,要匹配一个反斜杆本身,你也许要用'\\\\'来做为正则表达式的字符串,因为正则表达式要是\\,而字符串里,每个反斜杆都要写

Python re正则表达式模块学习【转】

感谢原作者,本文转自:http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html 博主还有一些比较好的python文档在此一并推荐,可以移步查看. 文介绍了Python对于正则表达式的支持,包括正则表达式基础以及Python正则表达式标准库的完整介绍及使用示例.本文的内容不包括如何编写高效的正则表达式.如何优化正则表达式,这些主题请查看其他教程. 注意:本文基于Python2.4完成:如果看到不明白的词汇请记得百度谷歌或维基,whate

[python] 常用正则表达式爬取网页信息及分析HTML标签总结【转】

[python] 常用正则表达式爬取网页信息及分析HTML标签总结 转http://blog.csdn.net/Eastmount/article/details/51082253 标签: pythonpython爬虫正则表达式html知识总结 2016-04-07 06:13 3615人阅读 评论(4) 收藏 举报  分类: Python爬虫(23)  Python基础知识(17)  版权声明:本文为博主原创文章,转载请注明CSDN博客源地址!共同学习,一起进步~ 这篇文章主要是介绍Pytho