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 正確格式為...