Python正则表达式捕获缺少换行符的最后一个单词

Python正则表达式捕获缺少换行符的最后一个单词,python,regex,Python,Regex,我需要捕获由标签分隔的单词,如下图所示 表达式(.*)[\t |\n]运行良好,但缺少换行符的最后一行除外。有人能建议修改正则表达式以匹配最后一个单词,即夏延吗 将[\t|\n]替换为(\t|$) 顺便说一句,[\t |\n]是一个字符类,因此管道在这里是文本的。您的意思可能是[\t\n]OP不想要[\t\n],但是[^\n\t]+请参见@Wiktor是的,这是一个更好的解决方案。虽然我只是想说清楚,但我并不是说要使用[\t\n],只是提到了在字符类中放置管道的常见错误。我实际上是在推荐(\t

我需要捕获由标签分隔的单词,如下图所示


表达式
(.*)[\t |\n]
运行良好,但缺少换行符的最后一行除外。有人能建议修改正则表达式以匹配最后一个单词,即夏延吗

[\t|\n]
替换为
(\t|$)


顺便说一句,
[\t |\n]
是一个字符类,因此管道
在这里是文本的。您的意思可能是
[\t\n]

OP不想要
[\t\n]
,但是
[^\n\t]+
请参见@Wiktor是的,这是一个更好的解决方案。虽然我只是想说清楚,但我并不是说要使用
[\t\n]
,只是提到了在字符类中放置管道的常见错误。我实际上是在推荐
(\t |$)
。更改为
(\t |$)
可以解决问题中概述的问题。但假设我想匹配城市的重复模式,如图所示()。这可能吗?@John这是另一个问题,所以你可以回答。不能使用CSV模块,我在问题中显示的数据只是为了说明问题。我使用的真实数据集非常不同,需要大量清理。