Python 中不区分大小写的正则表达式
正则表达式匹配 Python 文本中的特定字符串。他们形成一个搜索模式并检查该搜索模式是否存在于文本中。
在本文中,我们将研究 Python 中不区分大小写的正则表达式。进一步解释了在文本中执行不区分大小写搜索的不同方法。
Python 中不区分大小写的正则表达式
搜索模式由一系列字符组成,可以使用正则表达式规则指定。但是,要使用正则 Python 表达式,你首先需要导入 re
模块。
不区分大小写意味着文本在小写和大写中应该被认为是相等的。我们需要在日常生活中经常应用不区分大小写的搜索。
一个这样的例子是每当我们搜索某种商品时,比如包
。有关包的信息将显示在屏幕上。
但是,如果我们以小写字母搜索 bag
或使用混合大小写(例如 bAG
),它也应该显示相同的结果。因此,我们需要将不同的大小写字母视为相同,以便在特定场景下轻松搜索结果。
因此,我们使用正则表达式来检查文本中不区分大小写的模式。
因此,让我们讨论如何使用正则表达式从文本中提取搜索模式。
在 Python 中使用不区分大小写的 re.IGNORECASE
标志匹配字符串
我们可以使用 Python 的 search()
、match()
或 sub()
函数来查找我们的搜索模式是否存在于文本中并提取它们的确切位置。
这些函数有三个参数:
-
要搜索的
模式
。 -
要在其中搜索模式的
文本
。 -
flag
。
然而,这个 flag
参数是一个可选参数,但用于启用 Python 中的多个功能。
re.IGNORECASE
用作标志以启用文本中不区分大小写的搜索。它将认为字符 [A-Z]
与字符串的 [a-z]
相同。
让我们举个例子,在我们的代码中使用 re.IGNORECASE
作为标志。
import re
re.search("the", "ThE", re.IGNORECASE)
输出:
<re.Match object; span=(0, 3), match='ThE'>
同样,你可以在 match()
函数或 sub()
函数中将标志作为 re.IGNORECASE
传递,以在文本中搜索不区分大小写的字符串。
但是,如果要搜索文本中出现的所有字符串,则应使用 Python 的 re.findall()
函数。它将找到文本中存在的所有匹配字符串。
但是,你必须在参数中传递标志 re.IGNORECASE
才能在文本中查找不区分大小写的字符串。
让我们看看如何提取文本中出现的所有字符串。
import re
re.findall("the", "The sources informed the police of tHe thieves.", re.IGNORECASE)
输出:
['The', 'the', 'tHe']
上面使用的 re.IGNORECASE
标志也可以写成 re.I
。这个 re.I
标志也用于在文本中搜索不区分大小写的模式。
让我们用一个例子来看看。
import re
re.findall("the", "The sources informed the police of tHe thieves.", re.I)
输出:
['The', 'the', 'tHe']
所有这些方法都存在于 Python 的 re
模块中。因此,re
模块必须在使用前导入程序中。
在 Python 中使用不区分大小写的标记 (?i)
匹配字符串
当你不想在 search()
或任何其他函数中添加标志参数以从文本中提取字符串时,我们使用由 (?i)
表示的不区分大小写的标记。
它应用于搜索模式之前的正则表达式函数,而无需指定额外的标志参数。
下面是在 search()
方法中使用不区分大小写标记 (?i)
的代码。
import re
re.search("(?i)TABLE", table)
输出:
<re.Match object; span=(0, 5), match='table'>
但是,你可以在更大的字符串中搜索模式,并使用 Python 中的 findall()
方法从字符串中查找所有多次出现的搜索模式。
下面是在 Python 中通过 findall()
方法使用不区分大小写标记 (?i)
的代码片段。
import re
text = "Let it rain, let it snow, let it do!"
re.findall("(?i)LEt", text)
输出:
['Let', 'let', 'let']
因此,上面的代码片段输出了文本中所有出现的搜索模式。将符号 (?i)
放在搜索模式之前。
结论
本文讨论了正则表达式以及如何使用它们在文本中查找不区分大小写的搜索模式。我们使用了两种方式。
首先是 re.IGNORECASE
标志,它作为参数传递给搜索函数,例如 search()
、match()
、findall()
等。你也可以使用 re.IGNORECASE
标志以使用你的字符串搜索不区分大小写的模式。
但是,第二种方法使用不区分大小写的标记 (?i)
,放置在搜索函数中的搜索模式之前。
我们可以使用这些方法在我们的文本中找到不区分大小写的模式。
相关文章
Python 中的平滑数据
发布时间:2023/12/20 浏览次数:101 分类:Python
-
本教程演示了如何在 Python 中平滑图形中的曲线。Python 在数据分析和可视化方面有着广泛的应用。
Python 中捕获键盘中断错误
发布时间:2023/12/20 浏览次数:187 分类:Python
-
本教程讨论如何在 Python 中捕获 KeyboardInterrupt。当用户使用 Ctrl + C 或 Ctrl + Z 手动尝试停止正在运行的程序时,或在 Jupyter Notebook 的情况下通过中断内核
在 Python 中实现低通滤波器
发布时间:2023/12/20 浏览次数:101 分类:Python
-
本教程讨论如何在 python 中创建低通滤波器。低通滤波器是信号处理基础中的一个术语,经常用于过滤信号以获得更准确的结果。
在 Python 中使用 requests 模块实现 Curl 命令
发布时间:2023/12/20 浏览次数:72 分类:Python
-
在本文中,你将学习如何使用 Python 中的 Requests 模块实现 curl 命令。我们讨论了 Get、Post、Put 和 Delete curl 命令。
在 Python 中使用 fetchall() 从数据库中提取元素
发布时间:2023/12/20 浏览次数:142 分类:Python
-
本文解释了 Python 中 fetchall() 方法的实现。该程序为数据库创建一个游标并处理错误异常。导出的输出给出了查询中提供的特定表中的元素列表。
在 Python 中解析日志文件
发布时间:2023/12/20 浏览次数:180 分类:Python
-
了解如何在 Python 中解析日志文件。日志文件包含有关在软件系统或应用程序运行期间发生的事件的信息。这些事件包括错误、用户提出的请求、Bug 等。
在 Python 中声明一个没有值的变量
发布时间:2023/12/20 浏览次数:94 分类:Python
-
在本教程中,我们将讨论如何在 Python 中声明一个变量而不赋值。变量是保留的内存位置,可以存储一些值。换句话说,Python 程序中的变量将数据提供给计算机以处理操作。
在 Python 中定义类全局变量
发布时间:2023/12/20 浏览次数:77 分类:Python
-
本教程演示了如何定义类全局变量。全局变量是一个可见变量,可以在程序的每个部分使用。全局变量也不在任何函数或方法中定义。
在 Python 中的 Lambda 函数中传递多个参数
发布时间:2023/12/20 浏览次数:133 分类:Python
-
了解如何在 Python 中的 Lambda 函数中传递多个参数。lambda 形式或 lambda 表达式是 Python 中的匿名函数。它们是可以使用 Python 中保留的 lambda 关键字创建的内联函数。