Python數據分析:強大字符串處理工具,正則表達式!

正則表達式是處理字符串的強大工具。作爲一個概念而言,正則表達式對於Python來說並不是獨有的。 正則表達式是一個特殊的字符序列,它能幫助開發人員方便的檢查一個字符串是否與某種模式匹配。

Python 自1.5版本起增加了re 模塊,它提供 Perl 風格的正則表達式模式。re 模塊使 Python 語言擁有全部的正則表達式功能。下面將介紹Python中對字符串進行搜索和查找的一些函數方法。

常用函數

1

一般字符

(1)“.”字符爲匹配任意單個字符。例如,a.b可以的匹配結果爲abc、aic、a&c等,但不包括換行符。

(2)“\”字符爲轉義字符,可以把字符改變爲原來的意思。聽上去不是很好理解,例如“.”字符是匹配任意的單個字符,但有時不需要這個功能,只想讓它代表一個點,這時就可以使用“.”,就能匹配爲“.”了。

(3)[…]爲字符集,相當於在中括號中任選一個。例如a[ bcd], 匹配 的 結果 爲 ab、 ac 和 ad。

在這裏插入圖片描述

預定義字符集

預定義字符集 含義

(1)\d 匹配一個數字字符。等價於 [0-9]。

(2)\D 匹配一個非數字字符。等價於[^0-9]。

(3)\s 匹配任何空白字符,包括空格、製表符、換頁符等等。等價於 [ \f\n\r\t\v]。

(4)\S 匹配任何非空白字符。等價於 [^ \f\n\r\t\v]。

(5)\w 匹配包括下劃線的任何單詞字符。等價於[A-Za-z0-9_]。

(6)\W 匹配任何非單詞字符。等價於 [^A-Za-z0-9_]。

在這裏插入圖片描述

數量詞

(1)“*”數量詞匹配前一個字符0或無限次。例如,ab*c匹配ac、abc、abbc和abbbc等。

(2)“+”與“*”很類似,只是至少匹配前一個字符一次。例如,ab+c匹配abc、abbc和abbbc等。

(3)“?”數量詞匹配前一個字符0或1次。例如,ab?c匹配ac和abc。

(4)“{m}”數量詞匹配前一個字符m次。例如,ab{3}c匹配abbbc。

(5)“{m,n}”數量詞匹配前一個字符m至n次。例如,ab{1,3}c匹配abc、abbc和abbbc。

在這裏插入圖片描述

一個例子

下面是常用的泰坦尼克號數據,在對年齡進行缺失值填充時,常用方法是衆數或平均數填充,或者利用算法填充,但是利用衆數或中位數填充會有較大誤差,利用算法填充又對技術要求比較高,可以觀察到"Name"列都包含有稱呼,如:Mr,Miss,根據常識可以知道,西方的這些稱呼是與年齡相關的,所以可以根據Name列對Age進行缺失值填充,這個時候正則表達式就派上用場了.

image-20200201120054374
在這裏插入圖片描述

怎麼樣?Python中的正則表達式你瞭解了麼?其實,這些知識只是正則表達式中的很小的一部分,還有很多很多的知識待大家去探索哦~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章