登录
首页大数据时代python数据分析:强大字符串处理工具,正则表达式
python数据分析:强大字符串处理工具,正则表达式
2020-06-01
收藏

正则表达式是处理字符串的强大工具。作为一个概念而言,正则表达式对于Python来说并不是独有的。 正则表达式是一个特殊的字符序列,它能帮助开发人员方便的检查一个字符串是否与某种模式匹配。

Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式。re 模块使 Python 语言拥有全部的正则表达式功能。下面将介绍Python中对字符串进行搜索和查找的一些函数方法。

常用函数

一般字符

(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进行缺失值填充,这个时候正则表达式就派上用场了.

怎么样?Python中的正则表达式你了解了么?其实,这些知识只是正则表达式中的很小的一部分,还有很多很多的知识待大家去探索哦~

数据分析咨询请扫描二维码

客服在线
立即咨询