正規表示式的基本用法

2021-10-02 20:45:57 字數 2045 閱讀 5864

#正規表示式用於匹配一類具有相同規則的字串,對於網頁結構多變的有奇效

#規則:

# 單字元:

# . :除換行以外所有字元

# :匹配集合中任意乙個字母

# \ :轉義

# \d :數字 [0-9]

# \d :非數字

# \w :數字、字母、下劃線、中文

# \w :非\w

# \s :所有的空白字元

# \s :非空白

# 數量修飾:

# * :任意多次,可以為0次

# + :至少一次

# ? :0次或1次

# :固定m次

# :至少m次

# :m-n次

# 邊界:

# \b \b

# $ :以某某結尾

# ^ :以某某開頭

# 分組:

# () :視為乙個整體;組模式 \1 \2

# 例:

import re

string =

'豬八戒

'pattern = re.

compile

(r'<(\w+)><(\w+)>\w+'

)ret = pattern.search(string)

#print(ret)

#以上是使與

相互匹配

# 貪婪模式:

# .*? .+?,加個問號,就會取消貪婪模式,使匹配的字數變少

# re.i :忽略大小寫

# re.m :多行匹配

# re.s :單行匹配,可以匹配換行符

#例:#string = '''hate is a beautiful feeling

#love you very much

#love she

#love her'''

#string2 = '''沁園春-雪

#北國風光

#千里冰封

#萬里雪飄

#望長城內外

#惟餘莽莽

#'''

#pattern = re.compile(r'^love',re.m)

#pattern = re.compile(r'<(\w+)>(.*?)',re.s)

#ret = pattern.findall(string2)

#print(ret)

#\w+無法匹配換行符

#有換行符時要re.s來設定單行模式,就可以匹配換行符

#match只從開始位置找,search從任意位置找,findall查詢所有字元

#re.sub(正規表示式,替換內容,字串),用於正則替換,例如:

#string = 'i love you, you love me, ye'

#pattern = re.compile(r'love')

#ret = re.sub(r'love','hate',string)

#ret = pattern.sub('hate',string)

#print(ret)

#我們也可以在替換內容那裡用函式來實現

deffn

(a):

ret =

int(a.group())

#group()表示的是正則匹配的結果

return

str(ret -5)

string =

'我喜歡身高為175的女孩'

pattern = re.

compile

(r'\d+'

)ret = pattern.sub(fn, string)

print

(ret)

(1)正規表示式乙個更行之有效的辦法是直接把那部分網頁給截出來,然後把自己要的部分變成(.*?),去掉其他的一些東東,變成.*?,然後就可以提取了

(2)注意有換行符時要用單行模式:re.s

正規表示式基本用法

正規表示式是處理字串的強大工具,常用來實現字串的檢索,替換,匹配驗證等,正規表示式在各種程式語言中都能使用。search search 在匹配時會掃瞄整個字串,然後返回第乙個成功匹配的結果。不會想match那樣開頭不匹配就失敗。findall 搜尋整個字串,然後返回匹配的所有內容。sub 將匹配的字...

正規表示式的基本用法

使用單個字串來描述 匹配一系列符合某個語法規則的字串 正規表示式由兩種基本字元組成 原義字元 字元本身就是乙個正規表示式,例如 a,b,c t n r f等等 元字元 等等 有特殊含義的字元 正規表示式的分類 字元類 abc 將字元進行歸類,可以出現中的其中乙個對abc其中乙個進行匹配 abc 對不...

正規表示式基本用法B

string物件的方法 match rgexp 使用正規表示式模式對字串執行查詢,並將包含查詢的結果作為陣列返回。stringobj.match rgexp 引數 stringobj 必選項。對其進行查詢的 string 物件或字串文字。rgexp 必選項。為包含正規表示式模式和可用標誌的正規表示式...