为了账号安全,请及时绑定邮箱和手机立即绑定

Pandas,str.extract 不适用于我的正则表达式?

Pandas,str.extract 不适用于我的正则表达式?

拉莫斯之舞 2023-02-07 17:14:20
您好,我正在尝试使用 str.extract() 提取子字符串,但它不想工作...我的正则表达式regex=r'(An+.+,$)' dataset['Sprint']=dataset['URL'].str.extract(regex)我想用粗体提取的内容:[id=5548,rapidViewId=2968,state=ACTIVE,name= Anki Sprint 1.12 glu ,startDate=2020-03-09T09:21:24.412+01:00,endDate=2020-03-31T23:59:00.000+02: 00,完成日期=,序列=5548,目标=]
查看完整描述

2 回答

?
幕布斯7119047

TA贡献1794条经验 获得超8个赞

问题是你如何定义正则表达式,你的正则表达式意味着'提取匹配的字符串:一个字符“A”,具有1个或多个字符“n”,具有1个或多个任何字符(行终止符除外),一个字符"," 和一行的末尾'。如果您考虑一下,您无法在您的示例中匹配此描述,因为您在行尾没有逗号。您可以使用这个有用的网站尝试您的 regex 表达式,它很好地解释了您的 regex 表达式。

解决问题,你可以做

regex=r'(An[a-zA-Z0-9\s]+.[a-zA-Z0-9\s]+),'
dataset['Sprint']=dataset['URL'].str.extract(regex)

或任何其他正则表达式,具体取决于您希望正则表达式的灵活性。


查看完整回答
反对 回复 2023-02-07
?
繁星淼淼

TA贡献1775条经验 获得超11个赞

为什么不在名称上使用正则表达式?

dataset['Sprint'] = df['URL'].str.extract("name=(.*?),")


查看完整回答
反对 回复 2023-02-07
  • 2 回答
  • 0 关注
  • 130 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信