1. 程式人生 > >1.re模塊

1.re模塊

匹配 pil 使用 分享圖片 正則表達 bubuko 括號 方法 高程

在python中使用正則表達式

  轉義符 : 在正則中的轉義符\也是在python中的轉義符

  ‘\(‘  表示匹配小括號

  [()+*?/$.]  在字符組中一些特殊的字符會現出原形

  所有的\w \d \s(\n,\t, ) \W \D \S 都表示它原有的意義

  [-] 只有寫在字符組的首位的時候表示普通的減號

    寫在其他位置的時候表示範圍[1-9]

    如果想匹配減號[1\-9] 就這樣寫

re模塊常用的方法

  findall  ***** 匹配所有符合的字符串

  ret = re.findall("\d+‘,1994wjs521‘)

  print(ret) 參數 返回值類型 : 列表 返回值個數 : 1 返回值內容 : 所有匹配上的項

  技術分享圖片

  技術分享圖片

  search  ***** 只要匹配上了就不再進行匹配

  ret = re.search("\d+","@$1994wjs521")

  print(ret) 返回值類型 : 正則匹配結果的對象 返回值個數 : 1 如果匹配上了就返回對象 沒有匹配上就返回None

  print(ret.group()) 返回的對象通過group來獲取匹配到的第一個結果

  技術分享圖片

  技術分享圖片

  match  ** 只要第一個字符不符合就不再繼續匹配,並返回None

  ret = re.match("\d+","@!1994wjs521")

  print(ret)

  print(ret.group) 匹配不到時,用group()會報錯

  技術分享圖片

  技術分享圖片

  sub  *** 替換 可以控制想替換的個數

  ret = re.sub("\d+","Love","1994wjs521"1)

  print(ret)

  技術分享圖片

  技術分享圖片

  subn *** 也是替換 也可以控制替換的次數,並且會返回替換的次數是一個元祖.

  ret = re.subn("\d+","Love","1994wjs521",1)

  print(ret)

  技術分享圖片

  技術分享圖片

  split *** 切割

  ret = re.split("\d+","1994wjs521")

  print(ret)

  技術分享圖片

 技術分享圖片

進階方法----爬蟲\自動化開發

  compile ***** 時間效率 節省時間 : 只有在多次使用某一個相同的正則表達式的時候, 這個compile才會幫助我們提高程序的效率

  ret = re.compile("\d+") 制定了一個正則表達式

  ret1 = ret.search("1994wjs521")

  print(ret1.group)

  技術分享圖片

  技術分享圖片

  finditer ***** 空間效率

  ret = re.finditer("\d+","1994wjs521")

  for i in ret:

    print(i.group())

  技術分享圖片

  技術分享圖片

  

1.re模塊