python re模組常用方法

2021-09-10 14:39:53 字數 2254 閱讀 1178

萬用字元

含義示例

匹配結果

reg1 | reg2

匹配表示式reg1或者表示式reg2

foo | bar

bar.

匹配除\n以外的任意字元

ab.b

abdb

^匹配字串起始部分

$匹配字串終止部分

*匹配0次或多次前面出現的正規表示式

+匹配一次或多次前面出現的正規表示式

?匹配0次或1次前面出現的正規表示式

匹配m~n次前面出現的正規表示式

[abc]

匹配中括號內任意乙個字元,結果可能是a或b或c

[x-y]

匹配x~y範圍中的任意單個字元

[^x-y]

不匹配x~y範圍中的任意單個字元

(*|+|?|{})?

匹配上面頻繁出現符號的非貪婪版

(*|+|?|{})?

({})

\d匹配任何十進位制數字

\w匹配任何字母數字字元,相當於類[a-za-z0-9_]

\s匹配任何空格字元,它相當於類[\t\n\r\f\v]

\b匹配任何單詞邊界

\1.反斜槓後邊跟元字元去除特殊功能;(即將特殊字元轉義成普通字元),2.反斜槓後邊跟普通字元實現特殊功能;(即預定義字元),3.\2引用序號對應的字組

標誌含義

re.i(ignorecase)

使匹配對大小寫不敏感

re.s(dotall)

使.匹配包括換行在內的所有字元

re.l(locale)

做本地化識別(locale-aware)匹配,法語等

re.m(multiline)

多行匹配,影響^和$

re.x(verbose)

該標誌通過給予更靈活的格式以便將正規表示式寫得更易於理解

re.u

根據unicode字符集解析字元,這個標誌影響\w,\w,\b,\b

re.search(pattern, string, flags)

使用可選標記搜尋字串中第一次出現的正規表示式模式。如果匹配成功,則返回匹配物件,否則返回none

import re

#與re.match()的區別:match從字串起始位置開始匹配,此例中match將返回none

m = re.search(

'foo'

,'asdasdfooasd'

)if m is

notnone

:print

(m.group(

))

re.match(pattern, string, flags),從字串起始位置開始匹配,若匹配失敗,則返回none

import re

m = re.match(

'(foo\w)(\w)'

,"fooabwder"

)print

(m.group(0)

)#fooab

print

(m.group(1)

)#fooa

print

(m.group(2)

)#bprint

(m.groups())

#("fooa", "b")

re.findall(pattern, string, flags)找出所有匹配的項,並以列表形式返回

re.finditer(pattern, string, flags)功能與上面findall一樣,不過返回的時迭代器。

import re

m = re.findall(

"foo\w"

,"foosdfooefefeffoo2"

)print

(m)#['foos', 'fooe', 'foo2']

re.split(pattern, string, max=0)

根據pattern將string分割成列表,並返回列表,分割操作max次

re.sub(pattern, newcontent, string,num,flags=0)

將匹配的內容替換成newcontent,替換num次

import re

str=

#將第乙個年份2005替換成「hi」

m = re.sub(

"\d"

,'hi'

,str,1

)print

(m)

Python re模組的常用方法

findall 功能 匹配字串中所有符合條件的 返回值 列表,會將所有匹配到的項加入到列表中返回 import re phone num 17344332233 待匹配的字串 regex r 1 3 9 d 匹配手機號使用的正則 ret re.findall regex,num print ret ...

Python re 正則模組

有些字元比較特殊,它們和自身並不匹配,而是會表明應和一些特殊的東西匹配,或者它們會影響到 re 其它部分的重複次數,它們叫元字元。其中 m 和 n 是十進位制整數。該限定符的意思是至少有 m 個重複,至多到 n 個重複。舉個例子,a b 將匹配 a b a b 和 a b 它不能匹配 ab 因為沒有...

python re 模組小結

前言 本人環境windows 7 64 位,python2.7 re是什麼 regular expression縮寫,意為正規表示式,是 python 的眾多模組之一 re用途 從文字中有選擇的批量抽取想要的文字碎片 re型別 分為dfa 確定的有窮狀態自動機 和 nfa 非確定的有窮狀態自動機 r...