day23 正則,re模組

哄哄的錘石真菜發表於2018-11-17

一、 簡談正規表示式

  元字元

        . 除了換行符外任意字元。

        w 數字、字母、下劃線

        s 空白符

        單詞的末尾

        d 數字

             
匹配換行符

              匹配製表符

        W 除了數字。 字母 下劃線

        D 除了數字

        S 除了空白符

        ^  開頭

        $ 結尾

        […] 字元組

        [^…] 除了字元組內的元素外

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

 

        量詞 限定符

        *   {0,n}

        +  {1,n}

        ?   {0,1}

        {p}  p次

        {p,}  p次或更多次

        {p,q} 從p到q次

 

         貪婪匹配和惰性匹配

          *,+,{},都屬於貪婪——即儘可能多的匹配

          在使⽤用.*後⾯面如果加了? 則是儘可能的少匹配. 表⽰惰性匹配

          正則中轉義 在前加  如 \n 表示

             

二、 re模組

findall()獲取到匹配的所有內容 返回list 在pycharm中可能因()優先權,而得不到所要的結果,可用(?:取消優先權)

finditer()匹配到所有內容。 返回迭代器

search() 搜尋。查到了就返回  查不到返回None

match() 匹配. 從頭開始匹配 匹配不到就報錯

split()切割,可多個,在pycharm中用()包裹表示式可保留切割位置

sub()替換 同理() 可顯示替換多少次

compile() 表示式預載入

(?P<name>正則)  給表示式起名 可呼叫檢視

相關文章