python正規表示式知識點

2021-09-25 02:29:27 字數 2420 閱讀 3345

import   re

str1="hello world my11 phone1 number is 123243331124" \

"i am 18 years old"

#re.findall目的就是匹配字串當中所有滿足條件的字元

result=re.findall(r"l",str1)#原樣匹配,匹配字元原樣,通常結合其他匹配使用,匹配l開頭的單詞

result=re.findall(r".",str1)#匹配所有非換行的字元,幾個點就是幾個字元

result=re.findall(r"\d\d",str1)#匹配所有字串中的數字

result=re.findall(r"\d",str1)#大小寫通常是相反的

result=re.findall(r"\d",str1)#匹配所有字串當中的1非數字

result=re.findall(r"\w",str1)#\w匹配字串當中的所有字母、數字、下劃線(漢字屬於字母)

result=re.findall(r"\w",str1)#\w匹配字串中的所有非字母、非數字、非下劃線

result=re.findall(r'[hello]',str1)#匹配括號當中的任意元素

result=re.findall(r"[a-za-a0-9]",str1)#匹配當中的範圍

result=re.findall(r"[^lo]",str1)#匹配除了括號當中元素之外的任意元素(括號當中的所有元素)

result=re.findall(r"[hello]",str1)#匹配括號中的任意元素

result=re.findall(r"he|ll|ph",str1)#匹配|兩邊的任意一邊

#()組匹配 ()是組匹配

result=re.findall(r"\w\d",str1)#乙個字母數字或下劃線和乙個數字

result=re.findall(r"\w(\d)",str1)#組匹配,會將非組內匹配,作為匹配的條件進行匹配

#如果是乙個字母數字或下劃線和乙個數字,輸出數字

#(?p\d)\w(?p=num)是命名組匹配

result=re.findall(r"(?p\d)\w(?p=num)",str1)#匹配乙個和前面相同的數字,中間有乙個

#字母數字或下劃線

result=re.findall(r"\d*",str1)#*匹配0到多個,/d數字

result=re.findall(r"\d+",str1)#+匹配1到多個,/d數字

result=re.findall(r"\d",str1)#匹配3個

result=re.findall(r"\d",str1)#匹配3到5個1

h5="""

result=re.findall(r'

result=re.findall(r'

str2="hello world hi man"

result=re.findall(r'^h',str2)#字串的開頭,如果第乙個元素是選擇的元素,則返回該元素

#否則返回空

result=re.findall(r'n$',str2)#字串的結尾

#re.search和re.match都是匹配一次指定的字元,re.search是從字元內部開始匹配,

#而match是從開頭匹配,也就是說,如果開頭沒有,search會向後接著匹配,match會返回none

result=re.search(r'n',str2)#從1字串內部進行匹配,匹配成功一次1返回,沒有返回none

# print(result)

# print(result.group())

# print(result.groups())

# #search搜查 match匹配

# result=re.match(r'h',str2)#從字串開頭進行匹配,匹配成功一次返回,沒有返回none

# #match只匹配開頭第乙個

# print(result)

# print(result.group())

# print(result.groups())#按照組返回乙個匹配結果的元組

str3="""

hello world 李易松

hi man"""

result=re.findall(r".",str3,re.s)#.忽略換行進行匹配,通常用於完整的html原始碼

result=re.findall(r".",str3)#re.s將忽略的換行符重新匹配

result=re.findall(r'[a-z]',str3,re.i)#忽略大小寫匹配

#re.i是大寫的i將大小寫都匹配出來

result=re.findall(r"\w",str3)#\w匹配字串當中的所有字母、數字、下劃線(漢字屬於字母)

print(result)

正規表示式知識點

re.match與re.search的區別 re.match只匹配字串的開始,如果字串開始不符合正規表示式,則匹配失敗,函式返回none 而re.search匹配整個字串,直到找到乙個匹配。flags 標誌位,用於控制正規表示式的匹配方式,如 是否區分大小寫,多行匹配等等 import re s 1...

正規表示式知識點

正則的知識點 1.建立例項 var reg new regexp pattern,flag d g 2.flag 識別符號 1.i 忽略大小寫匹配 2.m 多行匹配 3.g 全域性匹配 應用與所有,而不是找到第乙個就停止 3.第一段知識點 1.xyz xyz中任意乙個字元 等價於 x z 2.xyz...

正規表示式知識點總結

1.正規表示式 符合一定規則的表示式。2.作用 用於專門操作字串。3.特點 用一些特定的符號來表示一些 操作,這樣可以簡化書寫。所以學習正規表示式,就是在學習一些特殊符號的使用。4.好處 可以簡化對字串的複雜操作。5.弊端 符號定義越多,正則越長,閱讀性越差。1.匹配 boolean matches...