正则表达式:无法在另一个站点中完成的jupyter笔记本中复制预期的输出

我的正则表达式表达式匹配其他意外组。我的目标是提取指定格式的日期(以字母表示的月份后跟年份,例如2009年3月),但是该表达式匹配并捕获其他格式,例如2009年3月20日。输入如下。

df5 = pd.Series(["04/20/2009", "04/20/09", "4/20/09", "4/3/09", "Mar-20-2009", "Mar 20, 2009", "March 20, 2009", "Mar. 20, 2009", "Mar 20 2009", "20 Mar 2009","20 March 2009", "20 Mar. 2009", "20 March, 2009", "Mar 20th, 2009", "Mar 21st, 2009", "Mar 22nd, 2009", "Feb 2009", "Sep 2009", "Oct 2010", "6/2008","12/2009", "2009", "2010"])

我使用的regex表达式df5.str.extractall(r'(?P<date>(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[a-z., -]*\d{4})')然后在regex101网站上重新检查了我的表达式并对其进行了更改。更改的表达式如下

[^ ](?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[a-z., -]*\d{4}

但是更改后的表达式与数据框中的任何值都不匹配,而使用更改后的表达式,我可以在regex101网站上获取必要的[输出]。我要去哪里错了?

李维

第一个看起来不错,您只需要以一个换行符开始^

df5.str.extractall(r'^(?P<date>(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[a-z., \-]*\d{4})')

16 0      Feb 2009
17 0      Sep 2009
18 0      Oct 2010

编辑:

您可能需要将该空间添加为必填项,因此请将其从方括号中删除:

df5.str.extractall(r'^(?P<date>(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[a-z.,\-]* \d{4})')

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

匹配直到正则表达式中的另一个表达式

正则表达式,用于基于记事本++中的另一个文本替换文本

在另一个正则表达式中找不到正则表达式

我可以将输出打印到jupyter笔记本中的另一个单元格吗?

从另一个笔记本运行Jupyter笔记本,同时更改正在运行的笔记本的输出

从另一个笔记本运行Jupyter笔记本

无法在另一个 jupyter 笔记本中导入模块

在正则表达式中调用另一个模板

如何用字符串中的另一个正则表达式替换一个正则表达式

% 运行另一个笔记本时,Jupyter 中的编码错误

正则表达式将文本复制到特定字符之前的另一个

Javascript正则表达式匹配除另一个表达式之外的表达式

正则表达式对另一个正则表达式的匹配结果使用条件

另一个正则表达式的 Java 正则表达式列表

在另一个正则表达式匹配文本之后匹配文本的正则表达式

Python正则表达式查找一个或另一个

正则表达式从一个输入到另一个?

包含一个单词或另一个单词的正则表达式

用正则表达式捕获一个或另一个组

Python Regex:选择一个正则表达式或另一个

正则表达式将sed中的一个功能替换为另一个功能

如何在Google Colab中将Jupyter笔记本的功能导入另一个Jupyter笔记本

正则表达式:查找两个不围绕文本中另一个元素的元素

是否可以将一个单元格从一个Jupyter笔记本复制到另一个?

MySQL:一个简单的正则表达式无法按预期工作

正则表达式匹配列表中的字符,除非存在另一个列表中的字符

正则表达式从模式匹配到另一个模式

使用正则表达式在Java中将String替换为另一个

正则表达式,在另一个之前和之后提取单词