猿问

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

我有一个包含文本的列(文本行)的数据框 df


df['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>>')


当年话下
浏览 163回答 2
2回答

慕雪6442864

我想出了答案的第一部分:df['textline'].str.extractall(r'(?<!Jan|Feb)&nbsp;([1-2][0-9]{3})')第二部分是如何对整个单词 January , February 使用同一行,以便它同时适用于 Feb 2018 和 February 2018

翻阅古今

你可以试试这个:(?<=(\s))\d{4}(?=\D)火柴:这是2018年的测试\n这是2018 年1月的测试\n这是2018 年2月的测试\n
随时随地看视频慕课网APP

相关分类

Python
我要回答