一、正規表示式常用
1.re.match:只嘗試從字串的查詢,後面不作查詢。
例子:
import retext="aabcdefg123123"
m=re.match('a',text)
if m:
print(m.group())
else:
print("not match")
#結論只能匹配開頭a,其它均無法匹配。
2.re.search:在字串內查詢,只要找到第乙個匹配就返回,後面不作查詢。
import retext="aabcdefg123123"
m=re.search('123',text)
if m:
print(m.group())
else:
print("not match")
#結論只能匹配123,第二個123不作查詢。
3.re.match和re.search區別
re.match只匹配字串的開始,如果字串開始不符合正規表示式,則匹配失敗,函式返回none;而re.search匹配整個字串,直到找到乙個匹配,找到乙個匹配,就返回後面不作查詢。
4.re.findall:找到所有要匹配的字元並返回列**式
import retext="aabcdefg123123"
m=re.search('123',text)
if m:
print(m)
else:
print("not match")
結果:[123,123]
5.re.split:將匹配到的格式當做分割點對字串分割成列表
import retext="tom1cat2dog"
m=re.search('[0-9]',text)
if m:
print(m)
else:
print("not match")
結果:['tom','cat','dog']
6.re.sub:替換匹配到的字元
import re7.re.complie:text="tom1cat2dog"
m=re.search('[0-9]','#',text)
if m:
print(m)
else:
print("not match")
結果:tom#cat#dog
可以把正規表示式編譯成乙個正規表示式物件。可以把那些經常使用的正規表示式編譯成正規表示式物件,這樣可以提高一定的效率。下面是乙個正規表示式物件的乙個例子:
import retext="tom1cat2dog"
regex=re.compile('[0-9]')
m=regex.findall(text)
if m:
print(m)
else:
print("not match")
結果:['1','2']
8.冒泡演算法
#!/usr/bin/env python3data=[10,4,33,21,54,3,8,11,5,22,2,1,17,13,6]
counter=0
for j in range(1,len(data)):
for i in range(len(data)-1): #j,為優化程式,1.解決out of range,2.解決沒有必要迴圈
if data[i] > data[i+1]:
data[i],data[i+1]=data[i+1],data[i]
counter +=1
counter +=1
print(data)
print("count:",counter)
python正則re使用
1 import re 將正規表示式編譯成pattern物件 pattern re.compile r hello re.i 使用pattern匹配文字,獲得匹配結果,無法匹配時將返回none match pattern.match hello world if match 使用match獲得分組資...
python基礎 Re正則
正規表示式 regular expression,簡稱re 正規表示式是對字串操作的 種邏輯公式,就是 事先定義好的 些特定字元 及這些特定字元的組合,組成 個 規則字串 這個 規則字串 來表達對字串的 種過濾邏輯。字串的匹配查詢 re模組中的findall函式可以對指定的字串進行遍歷匹配,獲取字串...
python 正則re模組
1.正則各種字元表示的含義 預設匹配除 n之外的任意乙個字元,若指定flag dotall,則匹配任意字元,包括換行 匹配字元開頭 匹配 號前的字元0次或多次,re.findall ab cabb3abcbbac 結果為 abb ab a 匹配前乙個字元1次或多次,re.findall ab ab ...