正規表示式(1) 元字元

2021-10-04 10:17:30 字數 3101 閱讀 9253

" \ +數字 "

(1)表示第n個元組中的內容

xu_hao_1=re.search(r'a(bca)\1'

,'abcabca'

)print

(xu_hao_1)

#abcabca

(bca)\1==bcabca;

xu_hao_2=re.search(r'(a)(bca)\2'

,'abcabca'

)print

(xu_hao_2)

#abcabca

xu_hao_3=re.search(r'(abc)\1\1'

,'abcabcabc'

)print

(xu_hao_3)

#abcabcabc

xu_hao_4=re.search(r'(abc)\1'

,'abcabcabc'

)print

(xu_hao_4)

''' #abcabc

(2)數字為三位數時,表示該八進位制數對應ascii碼的內容

xu_hao_5=re.search(r'\141'

,'abc'

)print

(xu_hao_5)

#axu_hao_6=re.search(r'\061'

,'123'

)print

(xu_hao_6)

#1

" . "

(1)不帶方括號,表示第乙個字元

point1=re.search(r'.'

,'the first letter'

)print

(point1)

# t

(2)帶方括號,表示"."本身`

point2=re.search(r'[.]'

,'the . itself'

)print

(point2)

# .

" [ ] "

(1)表示範圍

fang_kuo_hao_1=re.findall(r'[a-z]'

,'get all letters i need'

)print

(fang_kuo_hao_1)

#['e', 't', 'l', 'l', 'e', 't', 't', 'e', 'r', 's', 'e', 'e', 'd']

(2)方括號中 " ^ "的用法

fang_kuo_hao_2=re.findall(r'[^(a-z)]'

,"get all letter i don't need"

)print

(fang_kuo_hao_2)

#['g', ' ', 'a', ' ', 'l', ' ', 'i', ' ', 'd', "'", ' ', 'n']

放在前面表示提取除了該內容之外的

fang_kuo_hao_3=re.findall(r'[(a-z)^]'

,'no change ^'

)print

(fang_kuo_hao_3)

#['o', 'h', 'a', 'n', 'g', 'e', '^']

放在後面表示 " ^ "本身

重複 " " " ? " " * " " + "

(1) " "

repeat1=re.search(r'abc'

,'abccabc'

)print

(repeat1)

#abcc

abc==abcc

repeat2=re.search(r'(abc)'

,'abcabcabc'

)print

(repeat2)

#abcabcabc

重複 「abc」 1次到5次均可,此處為3次

(2) " ? "

重複0次或1次

repeat5=re.search(r'(abc)?'

,'abcabcabcabc'

)print

(repeat5)

#abc

repeat6=re.search(r'ab(def)?'

,'abc'

)print

(repeat6)

#ab

(3)" * "

重複0次到若干次

repeat3=re.search(r'(abc)*'

,'abcabc'

)print

(repeat3)

#abcabc

repeat4=re.search(r'abc(ba)*'

,'abcabc'

)print

(repeat4)

#abc

(4)" + "

重複1次到若干次

貪婪(1) 貪婪模式

greedy=re.search(r'<.+>'

,'123'

)print

(greedy)

#123

" <.+> " == 尖括號內任意內容,重複1到若干次

.+ == html>

123(2)非貪婪模式 " <.+?> "

nogreedy1=re.search(r'<.+?>'

,'123'

)print

(nogreedy1)

#

" .+ "不能打括號

nogreedy2=re.search(r'(<.+?>)*',''

)print

(nogreedy2)

#nogreedy3=re.search(r'(<.+?>)?',''

)print

(nogreedy3)

#

正規表示式 元字元

現在你已經知道幾個很有用的元字元了,如 b 還有 d 當然還有更多的元字元可用,比如 s 匹配任意的空白符,包括空格,製表符 tab 換行符,中文全形空格等 w匹配字母或數字或下劃線或漢字等。ba w b 匹配以字母a 開頭的單詞 先是某個單詞開始處 b 然後是字母a 然後是任意數量的字母或數字 w...

正規表示式 元字元

元字元 描述.點 匹配任何單個字元。例如正規表示式r.t匹配這些字串 rat rut r t,但是不匹配root。匹配行結束符。例如正規表示式weasel 能夠匹配字串 he s a weasel 的末尾 但是不能匹配字串 they are a bunch of weasels.匹配一行的開始。例如...

正規表示式元字元

l 基本元字元 元字元說明 匹配任意單個字元 邏輯或操作符 定義乙個字元集合,匹配該集合中的乙個字元 對字元集合求非 是對整個集合求非,而不是緊挨著 符號的字元 在字元集合中定義乙個區間。如 a za z 對下乙個字元轉義。比如 n表示換行。數量元字元 元字元說明 匹配前乙個字元 子表示式 零次或多...