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

您好,我正在尝试使用 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,目标=]


拉莫斯之舞
浏览 131回答 2
2回答

幕布斯7119047

问题是你如何定义正则表达式,你的正则表达式意味着'提取匹配的字符串:一个字符“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)或任何其他正则表达式,具体取决于您希望正则表达式的灵活性。

繁星淼淼

为什么不在名称上使用正则表达式?dataset['Sprint'] = df['URL'].str.extract("name=(.*?),")
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python