正規表示式總結

2021-09-22 21:10:39 字數 1611 閱讀 4303

regular expression:是用來簡介表達一組字串的表示式 

操作符說明例項.

表示任何單個字元

字符集,對單個字元給出取值範圍

[abc]表示a、b、c,[a-z]表示a到z單個字元

[^]非字符集,對單個字元給出排除範圍

[^abc]表示非a或b或c的單個字元

*前乙個字元0次或無限次擴充套件

abc* 表示 ab、 abc、 abcc、 abccc等

+前乙個字元1次或無限次擴充套件

abc+ 表示 abc、 abcc、 abccc等

?前乙個字元0次或1次擴充套件

abc? 表示 ab、 abc

|左右表示式任意乙個

abc|def 表示 abc、 def

擴充套件前乙個字元m次

abc表示abbc

擴充套件前乙個字元m至n次(含n)

abc表示abc、 abbc

^匹配字串開頭

^abc表示abc且在乙個字串的開頭

$匹配字串結尾

abc$表示abc且在乙個字串的結尾

()分組標記,內部只能使用 | 操作符

(abc)表示abc,(abc|def)表示abc、

\d數字,等價於[0‐9]

\w單詞字元,等價於[a‐za‐z0‐9_]

re庫是python的標準庫,主要用於字串匹配

函式說明

re.search()

在乙個字串中搜尋匹配正規表示式的第乙個位置,返回match物件

re.match()

從乙個字串的開始位置起匹配正規表示式,返回match物件

re.findall()

搜尋字串,以列表型別返回全部能匹配的子串

re.split()

將乙個字串按照正規表示式匹配結果進行分割,返回列表型別

re.finditer()

搜尋字串,返回乙個匹配結果的迭代型別,每個迭代元素是match物件

re.sub()

在乙個字串中替換所有匹配正規表示式的子串,返回替換後的字串

#例項

# re.search()

import re

match=re.search(r'\d','bit 100081')

if match:

print(match.group(0))

# re.split(pattern,string,maxsplit=0,flags=0)

import re

re.split(r'\d','bit 100081 tssu0000577')

# re.finditer(pattern,string,flags=0)

import re

for m in re.finditer(r'\d','bit 100081 tssu0000577'):

if m:

print(m.group(0))

regex=re.complie(pattern,flags=0)     #將正規表示式的字串形式編譯成正規表示式物件

re庫預設採用貪婪匹配,即輸出匹配最長的子串,。只要長度輸出可能不同的,都可以通過在操作符後增加?變成最小匹配

正規表示式 正規表示式 總結

非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...

正規表示式總結

正規表示式用於操作字串的規則,這些規則由一些符號所組成。使用正規表示式可以進行更複雜的操作,而且這種複雜的操作要比方法短的多。功能 1,匹配。使用的是string類中的matches方法。2,切割。使用的string類split方法。3,替換。4,查詢。1,將正則規則通過pattern類中的stat...

正規表示式總結

常用正規表示式總結 w w w 驗證 號碼 d d d 正確格式為 x x xx x xx x 和 xx 驗證身份證號 15位或18位數字 d d 驗證一年的12個月 0?1 9 1 0 2 正確格式為 01 09 和 1 12 驗證乙個月的31天 0?1 9 1 2 0 9 30 31 正確格式為...