python正規表示式簡要說明

2021-09-10 03:37:00 字數 2681 閱讀 4493

正規表示式:

一、定義:是乙個特殊的字串行,它能方便地檢查乙個字串是否與某種模式匹配。

二、作用:正規表示式為高階文字模式匹配,以及文字的檢索與替換等功能提供了基礎。

三、正規表示式中常用的字元含義:

四、re模組中常用功能函式:

1.compile():

須知:當我們在python中使用正規表示式時,re模組內部會幹兩件事情:編譯正規表示式,如果正規表示式的字串本身不合法,會報錯;用編譯後的正規表示式去匹配字串。

(1)compile()作用:當乙個正規表示式要重複使用很多次,出於效率的考慮,我們可以預編譯該正規表示式,接下來重複使用時就不需要編譯這個步驟了,直接匹配.

(2)格式:re.compile(pattern,flags=0)

pattern: 編譯時用的表示式字串。

flags :編譯標誌位,用於修改正規表示式的匹配方式,如:是否區分大小寫,多行匹配等,可有可無,按需新增。常用的flags有標誌

含義 re.s(dotall)

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

re.i(ignorecase)

使匹配對大小寫不敏感

re.l(locale)

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

re.m(multiline)

多行匹配,影響^和$

re.x(verbose)

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

re.u

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

eg.  import re

s1 = "tina is a good girl, she is cool, clever, and so on..."

s2 = "too young too ******"

rr = re.compile(r'\w*oo\w*')

print(rr.findall(s1))   #查詢所有包含'oo'的單詞

print(rr.findall(s2))   #查詢所有包含'oo'的單詞

執行結果如下:

['good', 'cool']

['too', 'too']

2.match():

(1)嘗試從字串的起始位置匹配乙個模式,如果不是起始位置匹配成功的話,match()就返回none。

注:re.search會在給定字串中尋找第乙個匹配給定正規表示式的子字串。

(2)re.match(pattern, string, flags=0)引數

描述 pattern

匹配的正規表示式

string

要匹配的字串。

flags

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

可以使用group(num) 或 groups() 匹配物件函式來獲取匹配表示式

匹配物件方法 描述

group(num=0)

匹配的整個表示式的字串,group() 可以一次輸入多個組號,在這種情況下它將返回乙個包含那些組所對應值的元組。

groups()

返回乙個包含所有小組字串的元組,從 1 到 所含的小組號。

3.re.search()   

(1)掃瞄整個字串並返回第乙個成功的匹配。

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

(2)與re.match()非常相似,但re.match只匹配字串的開始,如果字串開始不符合正規表示式,則匹配失敗,函式返回none;re.search匹配整個字串,直到找到乙個匹配

4.re.sub()

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

(2)eg.

import re

phone = "2004-959-559 # 這是乙個國外**號碼"

# 刪除字串中的 python注釋

num = re.sub(r'#.*$', "", phone)

print "**號碼是: ", num

5.re.findall()

(1)re.findall遍歷匹配,可以獲取字串中所有匹配的字串,返回乙個列表。

6.re.split()

(1)按照能夠匹配的子串將string分割後返回列表。

(2)eg.

import re

print(re.split('\d+','one1two2three3four4five'))

執行結果如下:

['one', 'two', 'three', 'four', 'five']

正規表示式說明

正規表示式中具有特殊含義的字元稱之為元字元,常用的元字元有 一般用於轉義字元 斷言目標的開始位置 或在多行模式下是行首 斷言目標的結束位置 或在多行模式下是行尾 匹配除換行符外的任何字元 預設 開始字元類定義 結束字元類定義 開始乙個可選分支 子組的開始標記 子組的結束標記 作為量詞,表示 0 次或...

正規表示式符號說明

字元 功能 匹配任意1個字元 除了 n 匹配 中列舉的字元 d 匹配數字,即0 9 d 匹配非數字,即不是數字 s 匹配空白,即 空格,tab鍵 s 匹配非空白 w 匹配單詞字元,即a z a z 0 9 w 匹配非單詞字元 匹配字串開頭 匹配字串結尾 b 匹配乙個單詞的邊界 b 匹配非單詞邊界 匹...

python 正規表示式,函式說明

1,findall pattern,string 返回所有符合pattern的字串,返回值是列表的格式 如果匹配有多個分組,那麼列表的元素是乙個元組 key my w2014 12 12orld hello a2015 10 10ahello pat re.compile d d d re.i re...