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

Python Regex extractall 仅用于 (YYYY) 而不是 MMM YYYY

Python Regex extractall 仅用于 (YYYY) 而不是 MMM YYYY

当年话下 2021-06-28 12:54:23
我有一个包含文本的列(文本行)的数据框 dfdf['textline'].iloc[0] = 'This is a test with 2018\n'df['textline'].iloc[1] = 'This is a test with Jan 2018\n'df['textline'].iloc[2] = 'This is a test with Feb 2018\n'我想使用 Regex extractall 来遍历整个 df['textline'] 但它只会在没有前面的月份名称时提取年份。例如,在上面的示例中,它将从第一行中提取 2018,但不会从第二行或第三行中提取 2018,因为它具有 Jan 或 Feb(或其他月份)。df['textline'].str.extractall(r'<<Regex code>>')
查看完整描述

2 回答

?
慕雪6442864

TA贡献1812条经验 获得超5个赞

我想出了答案的第一部分:

df['textline'].str.extractall(r'(?<!Jan|Feb) ([1-2][0-9]{3})')

第二部分是如何对整个单词 January , February 使用同一行,以便它同时适用于 Feb 2018 和 February 2018


查看完整回答
反对 回复 2021-07-13
?
翻阅古今

TA贡献1780条经验 获得超5个赞

你可以试试这个:

(?<=(\s))\d{4}(?=\D)

火柴:

这是2018年的测试\n

这是2018 年1的测试\n

这是2018 年2的测试\n


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

添加回答

举报

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