Python re.findall()方法教程

Regular Expression re 模块用于根据提供的模式搜索给定的文本数据。Python通过re模块提供正则表达式函数。re模块是一个内置模块,无需安装。这个 芬德尔() 方法由re模块提供,用于计算给定字符串或文本的所有正则表达式。为了在Python模块中使用正则表达式 re 应该像下面这样导入。

null
import re

re.findall()方法语法

这个 关于findall() 方法具有以下语法,其中REGEX和STRING参数都是必需的。

re.findall(REGEX , STRING)
  • 正则表达式 是将应用于字符串并返回匹配结果的正则表达式模式。此参数是必需的。
  • 字符串 将搜索指定正则表达式模式的字符串或文本。此参数是必需的。

正则表达式字符和模式

在使用re.findall()regex匹配示例开始示例之前,让我们列出一些常用的和有用的regex字符和模式以及findall()方法。

正则表达式 说明
[] 表示特殊字符类
^ 行乞
$ 这条线的尽头
. 任何单个字符
? 指定字符的出现次数为零或更多
| 或者
* 任何次数
+ 一个或多个事件
{} a组正则表达式
() 包含一组正则表达式

re.findall()示例

在下面的示例中,我们将使用查找字母和数字并将其与指定的正则表达式匹配。然后将其提供给re.findall()方法,该方法将以列表的形式返回所有匹配的行。

import rere_alphabet= "python.*"re_number= "d+"text = """ I like the web site pythontect.com           This site is the best site of the 2020"""match = re.findall(re_alphabet , text)print(match)match = re.findall(re_number , text)print(match)

输出如下。正如我们所看到的那样,findall()方法可能返回零个、单个或多个匹配项,结果匹配项将作为列表提供。下面我们可以看到,每个数学都是作为列表项提供的。

['pythontect.com']['2020']

查找所有IP地址

regex findall()方法可用于匹配和查找文本文件中的所有IP地址。IP地址regex可以用 (?:[0-9]{1,3}.){3}[0-9]{1,3} 图案。

import reall_ip_addresses = re.findall("(?:[0-9]{1,3}.){3}[0-9]{1,3}" , text)for ip_address in all_ip_addresses:   print(ip_address)

查找所有MAC地址

MAC地址由以太网卡使用,无线网络用于第二层通信。findall()方法可用于匹配和查找给定文本中的所有mac地址。我们假设MAC地址是以格式提供的 AA-BB-CC-DD-EE-FF .

import re

all_ip_addresses = re.findall("([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})" , text)

for ip_address in all_ip_addresses:
   print(ip_address)

re.findall()与re.search()

这个 搜索() 是另一种可以用来进行基于regex的搜索和匹配的方法。它与re.findall()方法非常相似,但与我们预期的有一些不同。方法re.findall()搜索整个文本并以列表形式返回所有匹配项,但re.search()方法仅返回第一个匹配项。因此re.search()可以用于检查给定regex的简单测试。

import rere_alphabet= "python.*"re_number= "d+"text = """ I like the web site pythontect.com           This site is the best site of the 2020"""match = re.search(re_alphabet , text)print(match)

输出如下所示,其中有一个单一的匹配范围在21到35个字符之间。

图片[1]-Python re.findall()方法教程-yiteyi-C++库

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享