1. 程式人生 > >正則表達式的總結

正則表達式的總結

正則 表達式

在Python中執行正則表達式時,需要導入import re

  1. 正則表達式就是:定義一個規則,用另外一個字符串,來匹配或者檢驗是否滿足這個規則;

  2. 正則的幾種方法:

    re.match(r"正則表達式","字符串"):從左邊第一個字符開始匹配,如果前面有匹配不成功的,就算後面有可以匹配的,也是匹配失敗;如果匹配失敗會返回None

    re.search(r"正則表達式","字符串"):從左邊開始搜尋,如果沒有成功,會一直往下匹配,直到匹配成功為止,除非整個字符都沒有匹配成功的部分。如果匹配的時候有多處可以成功,會匹配從左到右邊第一個匹配內容取出。。

    re.findall(r"規則","字符串"),查找字符串所有匹配成功的

    re.sub(r"規則","要替換成的字符串","字符串")將匹配到的數據進程替換

    re.split(r"規則","字符串")根據匹配進行切割字符串

  3. 正則中表示單個字符:

    .:任意一個字符(\\n)

    \\d:匹配任意一個數字等價[0-9]

    \\D:匹配非數字,例如:a,*,$,@,!

    \\w:匹配單個字符,a-zA-Z0-9_ 等價[a-zA-Z0-9_]

    \\W:非單個字符;例如:&,%,-,+

    \\s:空白字符,空格,\\t \\n \\r

    \\S:非空白,例如:a,8,$;

  4. 正則中表示字符數量:

    *:前面的字符出現0次或者無限次數,即可有可無。例如 \\d* ""

    +:前面的字符出現1次或者無限次數,即至少出現1次。.+ "1" ,"a"

    ?:前面的字符要麽出現0次要麽出現1次,即要麽出現,要麽不出現。\\w? ""

    {m}:前面的字符出現m次;例如\\d{3} "99"

    {m,}前面的字符至少出現m次;例如 .{3,} "#448**"

    {n,m}前面的字符出現n到m次,包括n和m; \\w{2,3} "a##3"

  5. 正則中的原始字符串:

    Python中字符串前面加上 r 表示原生字符串,讓我們忽略要轉義的地方。

    特殊字符 \\n \\t \\r

    re.match(r"\\nabc","\\nabc")

    re.match(r"\\rabc","\\rabc")

    re.match(r"\\rabc","\\rabc")

    re.match(r"\\tabc","\\tabc")

  6. 正則中表示邊界:

    $:匹配字符串結尾 "1[34578]\\d{9}$" 13511111119

    ^:匹配字符串開頭 "^1[34578]\\d{9}$" search() 1[34578]\\d{9} hh13511111119ccc

    \\b:匹配單詞的邊界 I love you ".+\\sve\\b"

    \\B:匹配非單詞的邊界 I love you ".+\\sv\\B"

  7. 正則中的匹配分組

    |:匹配左右任意一個表達式 "0|100" "100"

    (ab):將括號中字符串作為一個分組 "<.+><.+>(.+)" "

    我是"

    \\num:引用分組num匹配到的字符串 "<(.+)><.+>(.+)" \\1

    (?P)分組起別名 "<(?p.+)><.+>(.+)" P是大寫的

    (?P=name):引用別名為name分組匹配到的字符串




本文出自 “13369014” 博客,請務必保留此出處http://13379014.blog.51cto.com/13369014/1976894

正則表達式的總結