re模組的常用函式

2021-09-25 09:10:46 字數 2472 閱讀 8726

re模組使python語言擁有全部的正規表示式功能,本篇主要介紹python中re模組常用的函式使用方法

search()函式

search()函式瀏覽全部字串,匹配第乙個符合規則的字串,未匹配則返回none

語法:search(pattern,string,flags=0)

#pattern:要匹配的正規表示式

#string:要匹配的字串

#falgs:匹配模式,用於控制正規表示式的匹配方式,如是否區分大小寫,多行匹配等

例如import re

a = 『one1two2three3』

infos = re.search(』\d+』,a)

print(infos)

執行結果:

可以看出,search()函式返回的是正規表示式物件,通過正規表示式匹配到了『1』這個字串

取出匹配物件方法:

group():獲取匹配到的所有結果,不管有沒有分組將匹配到的全部拿出來,有引數為匹配到的第幾個如2

groups():獲取模型中匹配到的分組結果,只拿出匹配到的字串中分組部分的結果

groupdict():獲取模型中匹配到的分組結果,只拿出匹配到的字串中分組部分定義了key的組結果,?p<>定義組裡匹配內容的key(鍵)

可以通過下面的**返回匹配的字元:

import re

a = 『one1two2three3』

infos = re.search(』\d+』,a)

print(infos.group())

執行結果:

match()函式

match()函式,從頭匹配乙個符合規則的字串,從起始位置開始匹配,匹配成功返回乙個物件,未匹配成功返回none

格式:match(pattern,string,flags=0)

#pattern:要匹配的正規表示式

#string:要匹配的字串

#falgs:匹配模式,用於控制正規表示式的匹配方式,如是否區分大小寫,多行匹配等

注意:match()函式 與 search()函式基本是一樣的功能,不一樣的就是match()匹配字串開始位置的乙個符合規則的字串,search()是在字串全域性匹配第乙個合規則的字串

findall()函式

findall()函式匹配所有符合規律的內容,並以列表形式返回結果。例如前例中 『one1two2three3』,通過search()函式只能匹配到第乙個符合規律的結果,而通過findall()函式可以返回字串所有的數字。

import re

a = 『one1two2three3』

infos = re.findall(』\d+』,a)

print(infos)

執行結果:

sub()函式用於替換字串中的匹配項

語法如下

re.sub(pattern,repl,string,count=0,flags=0)

#pattern為匹配的正規表示式

#repl為替換的字串

#string為要被查詢替換的原始字串

#count為模式匹配後替換的最大次數

#flags為標誌位,用於控制正規表示式的匹配方式,如是否區分大小寫,多行匹配等

例如:import re

phone = 『137-2345-3245』

new_phone = re.sub(』\d』,』』,phone)

print(new_phone)

執行結果:

split()函式

根據正則匹配分割字串,返回分割後的乙個列表

split(pattern,string,maxsplit=0,flags=0)

#pattern 匹配的正規表示式

#string 要匹配的字串

#maxsplit 指定分割個數

#flags 標誌位,用於控制正規表示式的匹配方式,如是否區分大小寫,多行匹配等

例如:按照乙個字元將全部字串進行分割

import re

phone = 『hello alex bcd alex lge alex acd 19』

new_phone = re.split(『a』,phone)

print(new_phone)

執行結果:

常用模組 re模組

由堆具有特殊意義的字元組成的式子。用於匹配查詢字串內容。主要學習重點,就是學習這些字元的含義。abc 表示式不包含任何特殊字元,就是精準匹配,說白了判斷是否相同 print re.findall abc abcbbb abc n t f 符號含義 a從字元的開始處開始匹配 z從字元的結尾處匹配 從字...

Python中re模組常用函式

re.match re.match 嘗試從字串的開始匹配乙個模式,如 下面的例子匹配第乙個單詞。import re text jgood is a handsome boy,he is cool,clever,and so on.m re.match r w s text if m print m....

常用模組之re模組

正規表示式是一門獨立語言 是通過一些特殊符號使用,從而在字串中篩選出想要的結果 如果想在python中使用正則,則需借助於內建模組re 字元組 包含乙個字元或者的意思 a z a z中任意取乙個字元 a z a z中任意取乙個字元 0 9 0 9中任意取乙個字元 特殊符號 特殊符號預設也只能單個單個...