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

如何使用Regex从CSV的description列HTML内容中提取td标签内ID值

问题排查

你当前的正则写法存在三个错误导致匹配不到结果:

  1. ^ 和 $ 是正则中匹配整个字符串开头、结尾的标识符,而你要提取的 <td> 片段在HTML文本的中间位置,自然无法匹配
  2. [A-Z0-9] 只能匹配单个大写字母或数字,你要匹配的是多个连续的大写字母+数字组合,需要加上量词 + 表示至少匹配1次,即写成 [A-Z0-9]+
  3. 没有考虑td标签前后可能存在的换行、空白字符影响

修正后的代码

提取td内的ID内容(直接得到F00Y009)

import pandas
import re

df = pandas.read_csv("替换为你的CSV文件实际路径")
# 正则用括号捕获需要的ID内容
pattern = r"<td>([A-Z0-9]+)</td>"

def extract_target(desc_text):
    match_res = re.search(pattern, desc_text)
    # 匹配到就返回结果,没匹配到返回空值
    return match_res.group(1) if match_res else None

# 新增列存储提取结果
df["extracted_id"] = df["description"].apply(extract_target)

# 打印第一行的结果验证
print(df["extracted_id"][0])

提取完整的td标签内容(得到<td>F00Y009</td>,匹配你的期望输出)

只需要把正则规则调整为:

pattern = r"(<td>[A-Z0-9]+</td>)"

然后extract_target函数里返回match_res.group(1)即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 08:48:01