Python
正则表达式由浅入深(一)
数据分析工作中很多任务是跟文本处理相关,比如从文本中提取客户的信息,从文本中提取时间等等
都是比较常见的操作。
虽然
Python
处理字符串的方法很多,而且流行的
pandas
库也提供了大量的向量
化字符串方法,但是一旦涉及要经过较为复杂的数据匹配才能进行的字符操作,这些方法就显得非常的乏
力。
尤其是由于文本数据来源于爬虫等渠道,
数据往往严重不规整,
这时候文本处理起来就显得尤为吃力。
幸运的是
Python
提供了
re
模块,可以实现正则表达式的操作。
re
模块主要通过六大方法来对字符串
进行处理,包括:
match()
、
search()
、
findall()
、
split()
、
sub()
。
这些方法涉及到字符串的匹配与替换等操作,在接下来的
4
篇连载文章里,我们不单只会讲解这
4
种
方法,还会把元字符、行定位符、限定符、字符类、排除字符、选择字符、转义字符、分组等正则表达式
最常用知识点贯穿起来。
接下来的系列文章将会为大家初步搭建较为完整的
Python
正则表达式知识体系,如果你已经学习完
Python
编程基础和数据清洗的课程知识,该系列文章将会让你对使用
Python
正则表达式达到一学就会,
一用就懂的技能熟悉程度,实现真正的融会贯通的目的。
一、
re.match
方法
我们首先看
re
模块中较为简单的
match()
方法。
match
的作用是利用
Pattern
实例,从字符串左侧开始匹配,如果匹配到就返回一个
Match
实例,
如果第一个字符不符合条件,就返回
None
。其语法格式如下:
re.match(pattern,string,[flags])
pattern:
表示模式字符串,由要匹配的正则表达式转换而来。
string
:表示要匹配的字符串。
flags
:可选参数,表示标志位,这个参数我们后续再讲。
模式字符串是什么意思呢?先看以下例子: