這里寫反斜杠也是轉(zhuǎn)義的意思,python在re模塊中使用都需要加反斜杠
成都創(chuàng)新互聯(lián)公司成立十年來(lái),這條路我們正越走越好,積累了技術(shù)與客戶資源,形成了良好的口碑。為客戶提供成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、網(wǎng)站策劃、網(wǎng)頁(yè)設(shè)計(jì)、域名與空間、網(wǎng)絡(luò)營(yíng)銷、VI設(shè)計(jì)、網(wǎng)站改版、漏洞修補(bǔ)等服務(wù)。網(wǎng)站是否美觀、功能強(qiáng)大、用戶體驗(yàn)好、性價(jià)比高、打開快等等,這些對(duì)于網(wǎng)站建設(shè)都非常重要,成都創(chuàng)新互聯(lián)公司通過(guò)對(duì)建站技術(shù)性的掌握、對(duì)創(chuàng)意設(shè)計(jì)的研究為客戶提供一站式互聯(lián)網(wǎng)解決方案,攜手廣大客戶,共同發(fā)展進(jìn)步。
他和match有相同的作用,但是有區(qū)別。他會(huì)在整個(gè)字符串內(nèi)容中匹配,直到找到第一個(gè)相匹配的字符串。
他和match和search差不多,但是他是找出字符串中所有的
import re
result1 = re.match('\d+','dshfjasdsf23432dhfhsjdjfhjsd')
if result1:
print result1.group()
result2 = re.search('\d+','dshfjasdsf23432dhfhsjdjfhjsd')
print result2
print result2.group()
result3 = re.findall('\d+','dshfjasdsf23432dhfhsjdjfhjsd34')
print result3
#輸出結(jié)果:
<_sre.SRE_Match object at 0x0000000002BFA510>
23432
['23432', '34']
他和編譯生成的.pyc文件差不多,.pyc是為了再次使用時(shí)快速調(diào)用。正則表達(dá)式也可以經(jīng)過(guò)編譯,編譯之后匹配其他的也會(huì)加快匹配速度
com = re.compile('\d+')
print type(com)
輸出結(jié)果:
他返回了一個(gè)對(duì)象
com = re.compile('\d+')
print com.findall('dshfjasdsf23432dhfhsjdjfhjsd34')
import re
f = open('love.txt','r')
feitian = f.read()
f.close()
print re.findall('a',feitian)
##也可以一行一行的匹配
f = open("love.txt", "r")
while True:
line = f.readline()
if line:
line=line.strip()
p=line.rfind('.')
filename=line[0:p]
print line
else:
break
f.close()
輸出:
['a', 'a', 'a']
result2 = re.search('(\d+)\w*(\d+)','dshfjasdsf23432dhfhs23423jdjfhjsd')
print result2.group()
print result2.groups()
#輸出結(jié)果:
23432dhfhs23423
('23432', '3')
#注意: 他不重復(fù)拿,這里解釋一下為什么第二個(gè)輸出為3,因?yàn)橹虚g都被\w*接收了,這里我們?cè)诮o一個(gè)例子
result2 = re.search('(\d+)dhfhs(\d+)','dshfjasdsf23432dhfhs23423jdjfhjsd')
print result2.group()
print result2.groups()
輸出結(jié)果:
23432dhfhs23423
('23432', '23423')
import re
ip = 'sdhflsdhfj1723.234.234234.df.34.1234.df.324.xc.3+dsf172.25.254.1 sdfjk2130sdkjf.sdjfs'
result1 = re.findall('(?:\d{1,3}\.){3}\d{1,3}',ip)
result2 = re.findall('[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}',ip)
print result1
print result2
#輸出結(jié)果:
['172.25.254.1']
['172.25.254.1']
import time
print time.time()
1510923748.06
#計(jì)算從1970年1月1日到現(xiàn)在有多少秒
print time.gmtime()
time.struct_time(tm_year=2017, tm_mon=11, tm_mday=17, tm_hour=13, tm_min=2, tm_sec=28, tm_wday=4, tm_yday=321, tm_isdst=0)
格式化成一個(gè)對(duì)象,他是當(dāng)前的時(shí)間
print time.strftime('%Y%m%d')
20171117
輸出格式化之后的時(shí)間,他的格式化和linux一樣
print time.strptime('2017-11-17','%Y-%m-%d')
time.struct_time(tm_year=2017, tm_mon=11, tm_mday=17, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=321, tm_isdst=-1)
#將字符串轉(zhuǎn)化成結(jié)構(gòu)化的時(shí)間格式
print time.localtime()
print time.mktime(time.localtime())
time.struct_time(tm_year=2017, tm_mon=11, tm_mday=17, tm_hour=21, tm_min=17, tm_sec=57, tm_wday=4, tm_yday=321, tm_isdst=0)
1510924677.0
#結(jié)構(gòu)化的時(shí)間轉(zhuǎn)化成時(shí)間戳的格式
#字符串格式的時(shí)間轉(zhuǎn)時(shí)間戳格式他不能直接轉(zhuǎn),必須要中轉(zhuǎn)
第一部分時(shí)間戳形式存在,第二部分以結(jié)構(gòu)化形式存在,第三部分以字符串形式存在