1. 程式人生 > >Python 24天 正則表達式

Python 24天 正則表達式

得到 bsp 組成 貪婪 字母 進行 手機號 所有 屬於

正則表達式是對字符串操作的一種邏輯公式. 我們一般使用正則表達式對字符串進行匹配和過濾.

由普通字符和元字符組成

元字符:

  1)字符組: 用[] 括起來的內容會被匹配 逐個匹配

  2)簡單元字符:

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

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

    \s 匹配任意的空白符

    \d 匹配數字

    \n 匹配一個換行符

    \t 匹配一個制表符

    \b 匹配一個單詞的結尾

    ^ 匹配字符串的開始

    $ 匹配字符串的結尾

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

    \D 匹配非數字

    \S 匹配非空白符

    a|b 匹配字符a或字符b

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

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

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

  3)量詞

  一次性匹配很多個字符

  * 重復零次或更多次

  + 重復一次或更多次

  ? 重復零次或一次

  {n} 重復n次

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

  {n,m} 重復n到m次

  4)惰性匹配和貪婪匹配

  在量詞中 * + {} 都屬於貪婪匹配 可以盡可能所得得到結果

    str: 麻花藤昨天讓英雄聯盟關服了
    reg: 昨天.* 匹配的是:昨天讓英雄聯盟關服了

  .*? 表示惰性匹配 盡可能少的匹配

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

  5)分組
  在正則中使用()分組

  身份證匹配: ^[1-9]\d{14}(\d{2}[0-9X])?$ 新舊都可以

  手機號 : ^(13|17|15|18)\d{9}

  生日 :^(1\d{3}|20\d{2})-(((01|0[3-9]|[10-12])-(1[0-9]|2[0-9]|3[0-1]))|(02-(1[0-9]|2[0-9])))


    







    

Python 24天 正則表達式