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

Pandas使用Regex匹配Test-加三位数字记录报multiple repeat错误如何解决

错误含义说明

你遇到的multiple repeat错误是正则解析时的语法错误,原因是你在\d{3}后额外加了量词+:{3}本身已经指定数字要重复匹配3次,+代表匹配前一个字符1次及以上,两个表示重复次数的量词连续放在一起,正则引擎无法解析,因此抛出该错误。

全量匹配错误的原因

你之前只用Test-\d{3}匹配会返回全部符合开头规则的记录,是因为str.match方法默认仅从字符串开头匹配,只要前半部分符合规则就会判定为匹配成功:比如Test-1435的前7位刚好是Test-143,也会被命中,因此需要加$限制匹配到字符串结尾,保证整个字符串完全符合格式要求。

正确代码实现
import pandas as pd

# 构造示例DataFrame
df = pd.DataFrame([['Test-143'], ['Test-1435'], ['Test-123'],['Test-12']], columns = ['column1'])

# 筛选逻辑:去掉多余的+,仅用$限制结尾即可
res = df[df['column1'].str.match(r'Test-\d{3}$', na=False)]
print(res)

运行后输出结果和你预期一致:

column1
0  Test-143
2  Test-123

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 17:45:04