Loading

正则表达式(Re库)入门

正则表达式的概念

概念

正则表达式(regular expression,regex,RE):是用来简洁表达一组字符串的表达式。

应用:最主要应用在字符串匹配。

使用

没编译前在Python中只是一个字符串,只有经过编译才是有效的表达式。

正则表达式的语法

常用操作符

正则表达式经典实例

匹配IP地址的正则表达式

IP地址分4段,每段0-255。

Re库的基本使用

Re库介绍

re是Python的标准库,主要用于字符串匹配。

import re

正则表达式的表达类型

  • raw string类型(原生字符串类型):不对转义字符‘\’进行转义的字符串类型,只需在字符串前面加r。
  • string类型:要考虑到转义字符‘\’,过于繁琐,不建议。

Re库的主要功能函数

re.search(pattern, string, flags=0)

参数 说明
pattern 正则表达式
string 待匹配字符串
flags 正则表达式使用时的控制标记

匹配邮政编码:

re.match(pattern, string, flags=0)

match()方法必须从头开始匹配

re.findall(pattern, string, flags=0)

re.split(pattern, string, maxsplit=0, flags=0)

参数 说明
maxsplit 最大分割数,剩余部分作为最后一个元素输出

re.finditer(pattern, string, flags=0)

re.sub(pattern, repl, string, count=0, flags=0)

参数 说明
repl 替换匹配字符串的字符串
count 匹配的最大替换次数

Re库的另一种等价用法

面向对象用法只需一次编译,即可多次使用,当正则表达式要多次使用时,能提高效率。

regex = re.compiler(pattern, flags=0)

将正则表达式的字符串形式编译成正则表达式对象。

Re库的Match对象

Match对象是一次匹配的结果,包含了匹配的很多信息。

Match对象的属性

Match对象的方法

Re库的贪婪匹配和最小匹配

当有长短不一的多个匹配项的时候,匹配哪一个呢?

Re库默认使用贪婪匹配,即输出匹配最长的字串。

最小匹配,输出最短的子串。

最小匹配的操作符

小结

参考
中国大学MOOC——网络爬虫之实战

posted @ 2021-12-24 21:00  活用数据  阅读(403)  评论(0编辑  收藏  举报