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

如何在pandas的extract函数中使用单词列表生成正则匹配规则

实现方案

首先明确你之前join失败的核心原因:pandas.Series.str.extract要求传入的正则表达式必须包含至少一个捕获组(即外层包裹括号的匹配规则),如果仅拼接得到用|分隔的字符串没有外层括号,方法会无法识别需要提取的内容,直接报错。

正确实现步骤如下:

  1. 先将所有需要匹配的规则整理为列表
import pandas as pd
import re

# 你的匹配规则列表,原来写在正则里的项都可以放到这个列表里
match_rules = [
    r"SECTION.?\dRADÔME",
    "PROFONDEUR ET TAB",
    "PRINCIPAL GAUCHE",
    "PRINCIPAL DROIT",
    "PLAN FIXE VERTICAL",
    "PLAN FIXE HORIZONTAL",
    "MOTEUR",
    "KARMAN",
    "HÉLICE",
    "GOUVERNAIL ET TAB",
    "CÔNE ARRIÈRE"
]
  1. 拼接生成符合要求的正则表达式,外层主动加括号形成捕获组
# 如果规则里包含自定义正则元字符(比如示例里的.?、\d),直接拼接即可
extract_pattern = f"({'|'.join(match_rules)})"

# 补充:如果所有匹配项都是普通文本、没有正则元字符,建议加re.escape避免特殊字符干扰
# extract_pattern = f"({'|'.join(re.escape(rule) for rule in match_rules)})"
  1. 直接调用extract方法即可,效果和你原来逐个写在括号里的代码完全一致
df["description"].str.extract(extract_pattern)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 07:24:00