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

Python调用re.search正则匹配始终返回NONE问题咨询

问题原因

你的代码里存在两个可直接导致re.search返回None的问题:

  • 核心错误:re.search的第二个匹配目标参数写的是str(str),这是把Python内置类型str本身转成字符串,完全没有使用你传入函数的文本参数txt,匹配目标不符合预期自然找不到结果。
  • 正则写法存在隐患:未加原始字符串标识的正则容易出现转义异常,且.*贪婪匹配、前后写死的空格在遇到空白字符不一致的场景时也会匹配失败,建议优化增加鲁棒性。
修复后的可运行代码
import re
from typing import Tuple, List
from collections import Counter
from glob import glob


def start_project(txt: str) -> Tuple[int, int]:
    
    print("before re.search")
    # 修正匹配目标为传入的txt参数,同时优化正则写法
    x = re.search(r"\*\*\* START OF THE PROJECT GUTENBERG EBOOK .*?\*\*\*", txt)
    print("this is the new output: ", x)
    # 可根据需求补充返回值逻辑,此处仅做匹配修复示例
    return (0, 0)


start_project("*** START OF THE PROJECT GUTENBERG EBOOK THE ILIAD ***")

修复后运行代码会正常输出匹配到的re.Match对象。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 02:54:03