正規表示式測試工具:
例項1:match()
import re
content = 'hello 123 4567 world_this is a regex demo'
print(len(content))
result = re.match('^hello\s\d\d\d\s\d\s\w',content)
print(type(result))
print(result.group()) #輸出匹配到的內容
print(result.span()) #輸出匹配的方法
結果:
注意:如果re.macth()匹配不成功,print(type(result))的結果會是。 之後的print也會出錯。
例項2:匹配目標。可以使用()括號將想提取的子字串括起來。
import re
import re
content = 'hello 123 4567 world_this is a regex demo'
print(len(content))
result = re.match('^hello\s(\d\d\d)\s(\d)\s\w',content)
print(result.group())
print(result.group(0))
print(result.group(1)) #提取第1個括號中的匹配結果 「123」
print(result.group(2)) #提取第2個括號中的匹配結果 「4567」
print(result.span())
結果:
注意:result.group(0)中存放的是整個匹配結果!
例項3:貪婪匹配和非貪婪匹配
import re
content = 'hello 123 4567 world_this is a regex demo'
result1 = re.match('^he.*(\d+).*demo$',content) #「.*」貪婪匹配,會匹配盡可能多的字元
print(result1)
print(result1.group(1))
result2 = re.match('^he.*?(\d+).*demo$',content) #「.*?」非貪婪匹配,會匹配盡可能少的字元
print(result2)
print(result2.group(1))
結果:
注意:非貪婪放結尾可能匹配不到任何內容:
例項4:match()與search()match()方法是從字串的開頭開始匹配,一旦開頭不匹配則匹配失敗,更適合用來檢測某個字串是否符合某個正規表示式規則。search()方法在匹配時掃瞄整個字串,然後返回第乙個成功匹配的結果。
import re
content = 'extra string hello 1234567 world xixixi oyo'
result1 = re.match('hello.*?(\d+).*?xixixi',content)
result2 = re.search('hello.*?(\d+).*?xixixi',content)
print(result1)
print(result2)
結果:
例項5:findall()獲取匹配正則式的所有內容。
sub()修改文字。接受3個引數(a,b,c):a為匹配物件,b為替換字串,c為原字串。
compile()將正則字串編譯成正規表示式物件
import re
content1 = "哼哼哈嘿" \
"嚶嚶呀呀"
content2 = "asad32432dasd222"
res1 = re.findall('^$',content1,re.s)
print(res1)
res2 = re.sub('|','',content1)
print(res2)
content3 = '2018-10-16 11:21'
pattern = re.compile('\d:\d')
res3 = re.sub(pattern,'',content3)
print(res3)
結果:
Python3爬蟲從零開始 庫的安裝
抓取網頁之後下一步就是從網頁中提取資訊。提取方式有很多種,可以利用正規表示式進行提請,但是相對而言比較麻煩繁瑣。現在有很多強大的解析庫供我們使用,如lxml,beautiful soupp,pyquery等。本節對其安裝進行介紹。lxml的安裝 lxml支援html和xml的解析,支援xpath解析...
從零開始的Python 3
學!都可以學!1.直接放例項吧qaq 下為求階乘的遞迴 def jc n if n 1 or n 0 return 1 n n jc n 1 return n num jc 10 print num 2.然而函式可以訪問全域性變數但不能修改全域性變數。在函式內宣告全域性變數後才能修改 num 1 d...
從零開始 Python3 學習筆記
感覺有必要學習一門計算機語言,之前學過的計算機語言早已經還給老師了,現在想想實在是浪費 現在算是從零開始學了 在網上查了一下python入門比較簡單,應用面比較廣,好吧,於是就選它吧 短期的目標是做乙個簡單的爬蟲,爬取某網頁上的資料 網上看了一下案例 importurllib.request url...