You need to enable JavaScript to run this app. Pandas按连续多星号拆分文本触发正则报错的问题
优惠活动
大模型
产品
解决方案
定价
更多

Pandas按连续多星号拆分文本触发正则报错的问题

报错核心原因
  • Pandas 字符串访问器.str.split()默认将传入的分隔符作为正则表达式解析,而非普通字面文本。
  • 星号*是正则语法中的特殊元字符,作用是匹配「前一个元素的0次或多次重复」。当直接传入连续5个星号组成的字符串时,正则引擎从位置0开始解析,第一个星号找不到对应的前置匹配对象,就会触发nothing to repeat的解析错误。
可直接运行的修复方案

方案1:关闭正则匹配模式(推荐)

给.str.split()传入regex=False参数,强制Pandas将传入的分隔符作为普通字符串匹配,不需要处理正则转义,代码可读性最高,适配Pandas 1.4及以上版本:

review = review_raw["reviews"].str.split('*****', regex=False).str[0]
print(review)

方案2:正则模式下转义特殊字符

如果使用的Pandas版本较低、不支持regex参数,或需要保留正则匹配逻辑,需要对作为特殊字符的星号做转义处理,每个星号前加反斜杠\,告知正则引擎这是普通的星号字符而非语法标记:

review = review_raw["reviews"].str.split('\*\*\*\*\*').str[0]
print(review)

两种方案运行后,对示例输入"This place is not good ***** less salt on the popcorn!",都能正确提取到分隔符前的文本This place is not good,符合预期输出要求。

内容的提问来源于stack exchange,提问作者Brett La Pierre

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.25 04:54:03