You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否在if语句中获取并打印re.search()的匹配结果?

问题解答

你贴的代码不行,直接运行会触发NameError,因为match变量根本没被定义——re.search(regex, string)的匹配结果没有被赋值给它,程序不知道match指的是什么。

正确的写法分两种:

1. 先赋值再判断(兼容所有Python版本)

import re

match = re.search(regex, string)
if match:
    print(match)

先把re.search的结果存到match变量里,再判断变量是否为真(匹配成功时match是一个匹配对象,非空即真;匹配失败时是None,为假)。

2. 用海象运算符(Python 3.8及以上版本可用)

import re

if match := re.search(regex, string):
    print(match)

海象运算符:=可以在判断条件里直接完成赋值,把re.search的结果存到match,同时判断这个结果是否为真,写法更简洁。

内容的提问来源于stack exchange,提问作者blahahaaahahaa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 16:45:25