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

如何在Python中实现特定语句判断及目标内容提取功能?

解决方案

首先修正你代码里的语法错误——str'print'是无效写法,应该直接用'print' in code来判断输入是否包含关键字。

要提取print('<em>I like ducks</em>')这类格式里的内容,推荐用正则表达式来匹配,它能灵活处理单引号、双引号以及括号前后的空格。以下是完整实现代码:

import re

code = input('')
if 'print' in code:
    # 匹配 print('内容') 或 print("内容") 格式,提取引号内的文本
    match_result = re.search(r'print\(\s*([\'"])(.*?)\1\s*\)', code)
    if match_result:
        # 输出提取到的内容
        print(match_result.group(2))
    else:
        # 处理不符合指定格式的print语句
        print('\033[33mWarning: 无效的print格式,应为 print(\'文本\') 或 print("文本")\033[0m')
else:
    print('\033[31mError; code undefined. Did you mean print?\033[0m')

代码说明:

  • re.search(r'print\(\s*([\'"])(.*?)\1\s*\)', code):
    • print\(\s* 匹配print(及括号前可能存在的空格
    • ([\'"]) 捕获单引号或双引号(用于后续匹配闭合的同类型引号)
    • (.*?) 非贪婪匹配引号内的所有内容(避免匹配到多余字符)
    • \1 匹配之前捕获的同类型引号,确保引号成对
    • \s*\) 匹配括号后可能存在的空格和右括号
  • 如果匹配成功,match_result.group(2)就是我们要提取的内容;如果匹配失败,会输出格式警告。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 04:55:15