为什么这种熊猫 str.extract 模式有效?



我有一个带有"title"列的数据帧"movies",其中包含电影标题及其发行年份,格式如下:

海盗 (2014(

我正在测试将标题部分(在上面的例子中是"海盗"(提取到新列中的不同方法。

我使用了pandas Series.str.extract((并找到了一个有效的正则表达式模式,但我不确定它为什么有效。


movies['title_only'] = movies['title'].str.extract('(.*)[s]', expand=True)

上面的代码正确地将"海盗"提取到一个新列中,但为什么它不只提取"The"(第一个空格之前的所有内容(?

  • 是一个贪婪的量词,这意味着它将尽可能匹配到字符串中。要仅匹配第一个单词,您可以将其切换为惰性量词 *?。另外,请注意,您不需要在 \s 两边加上方括号。 [\s] == \s

根据考斯汀

最新更新