如何从 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
广告