CDA数据分析师Python数据分析:强大字符串处理工具,正则表达式


正则表达式是处理字符串的强大工具 。 作为一个概念而言 , 正则表达式对于Python来说并不是独有的 。正则表达式是一个特殊的字符序列 , 它能帮助开发人员方便的检查一个字符串是否与某种模式匹配 。
Python 自1.5版本起增加了re 模块 , 它提供 Perl 风格的正则表达式模式 。 re 模块使 Python 语言拥有全部的正则表达式功能 。 下面将介绍Python中对字符串进行搜索和查找的一些函数方法 。
常用函数
CDA数据分析师Python数据分析:强大字符串处理工具,正则表达式
本文插图
一般字符
(1)“.”字符为匹配任意单个字符 。 例如 , a.b可以的匹配结果为abc、aic、a&c等 , 但不包括换行符 。
(2)“”字符为转义字符 , 可以把字符改变为原来的意思 。 听上去不是很好理解 , 例如“.”字符是匹配任意的单个字符 , 但有时不需要这个功能 , 只想让它代表一个点 , 这时就可以使用“.” , 就能匹配为“.”了 。
(3)[…]为字符集 , 相当于在中括号中任选一个 。 例如a[ bcd] ,匹配 的 结果 为 ab、 ac 和 ad 。
CDA数据分析师Python数据分析:强大字符串处理工具,正则表达式
本文插图
预定义字符集
预定义字符集 含义
(1)d 匹配一个数字字符 。 等价于 [0-9] 。
(2)D 匹配一个非数字字符 。 等价于[^0-9] 。
(3)s 匹配任何空白字符 , 包括空格、制表符、换页符等等 。 等价于 [ fv] 。
(4)S 匹配任何非空白字符 。 等价于 [^ fv] 。
(5)w 匹配包括下划线的任何单词字符 。 等价于[A-Za-z0-9_] 。
(6)W 匹配任何非单词字符 。 等价于 [^A-Za-z0-9_] 。
【CDA数据分析师Python数据分析:强大字符串处理工具,正则表达式】
CDA数据分析师Python数据分析:强大字符串处理工具,正则表达式
本文插图
数量词
(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 。
CDA数据分析师Python数据分析:强大字符串处理工具,正则表达式
本文插图
一个例子
下面是常用的泰坦尼克号数据,在对年龄进行缺失值填充时,常用方法是众数或平均数填充,或者利用算法填充,但是利用众数或中位数填充会有较大误差,利用算法填充又对技术要求比较高,可以观察到"Name"列都包含有称呼,如:Mr,Miss,根据常识可以知道,西方的这些称呼是与年龄相关的,所以可以根据Name列对Age进行缺失值填充,这个时候正则表达式就派上用场了.
CDA数据分析师Python数据分析:强大字符串处理工具,正则表达式
本文插图
CDA数据分析师Python数据分析:强大字符串处理工具,正则表达式
本文插图
怎么样?Python中的正则表达式你了解了么?其实 , 这些知识只是正则表达式中的很小的一部分 , 还有很多很多的知识待大家去探索哦~


    推荐阅读