1. 程式人生 > >day33 Pyhton 常用模組03

day33 Pyhton 常用模組03

一.正則表示式:

  1.元字元

    . 匹配除換行符以外的任意字元

    \w 匹配字母或數字或下劃線

    \s 匹配任意的空白符

    \d 匹配數字

    \n 匹配一個換行符

    \t 匹配一個製表符

    \b 匹配一個單詞的結尾

    ^ 匹配字串的開始

    $ 匹配字串的結尾

    \W 匹配非字母或數字或下劃線

    \D 匹配非數字

    \S 匹配非空白符

    a|b 匹配字元a或字元b

    () 匹配括號內的表示式,也表示一個組

    [...] 匹配字元組中的字元

    [^...] 匹配除了字元組中字元的所有字元

  2.量詞

     *  重複零次或更多次

    + 重複一次或更多次

    ? 重複零次或一次

   {n}  重複n次

   {n,} 重複n次或更多次

   {n,m} 重複n到m次

  3.惰性匹配和貪婪匹配

    * + {} 都是貪婪匹配

    .*後面加了?表示惰性匹配

    .*?x的特殊含義,找到下一個x為止 

str: abcdefgxhijklmn
reg: .*?x
結果:abcdefgx

  re模組 findall

import re
lst = re.findall("
\d+", "5點之前. 你要給我5000萬") print(lst)
ret = re.search(r'\d', '5點之前. 你要給我5000萬').group()
print(ret)
ret = re.match('a', 'abc').group()
print(ret) 
it = re.finditer("m", "mai le fo len, mai ni mei!")
for el in it:
  print(el.group())