Python爬虫学习(六)Re正则表示式库的入门

(六)Re(正则表达式)库入门

(1)基本定义

  • 正则表达式 regular expression, regex, RE
  • 正则表达式是用来简洁表达一组字符串的表达式
  • 正则表达式是一种针对字符串表达“简洁”和“特征”的思想的工具
  • 正则表达式可以用来判断某字符串的特征归属

(2)作用

  • 表达文本类型的特征(病毒、入侵等)
  • 同时查找或替换一组字符串
  • 匹配字符串的全部或部分(最主要的应用)

(3)语法

  • 正则表达式由字符和操作符构成

1.常用操作符

在这里插入图片描述在这里插入图片描述

2.语法实例

在这里插入图片描述

3.经典实例

在这里插入图片描述

4.匹配IP地址的正则表达式
在这里插入图片描述

(4)Re库

1.Re库介绍

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

2.表示类型

  • raw string类型(原生字符串类型)
  • string类型(更繁琐)
  • 建议:当正则表达式包含转义符时,使用raw string
# r'text'格式
r'[1-9]\d{5}'
r'\d{3}-\d{8}|\d{4}-\d{7}

# string格式
r'[1-9]\\d{5}'
r'\\d{3}-\\d{8}|\\d{4}-\\d{7}

3.Re库主要功能函数

在这里插入图片描述

import re
#pattern : 正则表达式的字符串或原生字符串表达 
#repl    : 替换匹配字符串的字符串
#string  : 待匹配字符串
#count   : 匹配的最大替换次数
#maxsplit: 最大分割数,剩余部分作为最后一个元素输出
#flags	  : 正则表达式使用时的控制标记  ///下附常用标记说明

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

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

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

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

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

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

在这里插入图片描述

#Re库的等价用法

#函数式用法:一次性操作
rst = re.search(r'[1-9]\d{5}', 'BIT 100081')
#面向对象用法:编译后的多次操作
regex = re.compile(r'[1-9]\d{5}')
rst = regex.search('BIT 100081')

#将正则表达式的字符串形式编译成正则表达式对象
regex = re.compile(pattern, flags=0)

在这里插入图片描述

4.Re库的Match对象

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

1>Match对象的属性

在这里插入图片描述

2>Match对象的方法

在这里插入图片描述

3>Match对象实例

在这里插入图片描述

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

在这里插入图片描述

  • 同时匹配长短不同的多项,返回哪一个?

1.贪婪匹配

  • Re库默认采用贪婪匹配,即输出匹配最长的子串

2.最小匹配

  • 如何输出最短的子串呢?
  • 只要长度输出可能不同的,都可以通过在操作符后增加?变成最小匹配在这里插入图片描述
发布了10 篇原创文章 · 获赞 1 · 访问量 134

猜你喜欢

转载自blog.csdn.net/qq_39419113/article/details/105681277
今日推荐