如何在 Python 正则表达式中获取真/假值?


**'re'** 模块在使用 Python 的正则表达式 (regex) 时提供了工具,它允许我们在字符串中搜索任何特定的模式。

使用 're' 模块,我们可以利用例如 .match().search() 等函数从正则表达式中获取 **True** 或 **False**。如果未检测到任何模式,则此函数返回 'None',如果检测到模式,则返回匹配对象。从 Python 正则表达式中获取真/假值的一些常用方法如下:

  • 're.match()':检查模式是否与字符串的开头匹配。

  • 're.search()':此函数扫描整个字符串以查找模式的第一次出现。

  • 're.fullmatch()':检查整个字符串是否完全匹配模式并返回匹配对象。

使用 're.match()'

通过使用 **'re.match()'**,我们可以检查正则表达式或模式是否与给定字符串的开头匹配。如果模式与字符串的开头匹配,则返回匹配对象,否则返回 **'None'**。

示例

在下面的示例代码中,**"^hello"** 是模式,其中 ' ^ ' 定义字符串开头的位 置。**'bool()'** 在模式中存在匹配时评估为 **'True'**,否则在模式不匹配时返回 **'False'**。

import re

pattern = r"^hi"
text = "hello world"

match = re.match(pattern, text)

# Evaluates to True if there's a match
is_match = bool(match)  

print(is_match)

输出

False

使用 're.search()'

要查找模式的第一次出现,此 **'re.search()'** 方法会扫描整个字符串,如果在字符串中的任何位置找到模式,则返回匹配对象。

示例

在下面的代码中,单词 **'world'** 是我们要搜索的模式。字符串 'hello world' 包含 'world' 作为其一部分,**'re.search()'** 在 **'text'** 中找到 'world' 并返回匹配对象。

import re

pattern = r"world"
text = "hello world"

match = re.search(pattern, text)

# Evaluates to True if there's a match
is_match = bool(match)  

print(is_match)  

输出

True

使用 're.fullmatch()'

此方法 **'re.fullmatch()'** 检查整个字符串是否完全匹配给定模式。

示例

在下面,字符串和模式都是 **'hello world'**,没有其他字符。因此,**'re.fullmatch()'** 找到完全匹配并返回匹配对象。

import re

pattern = r"hello world"
text = "hello world"

match = re.fullmatch(pattern, text)

# Evaluates to True if there's a match
is_match = bool(match) 

print(is_match) 

输出

True

更新于: 2024年10月14日

4K+ 阅读量

开启你的职业生涯

通过完成课程获得认证

开始学习
广告