如何在特殊字符之前停止正则表达式匹配

问题描述 投票:0回答:1

我正在尝试使用 python 来解决正则表达式,并且正在清理数据集。以下是示例。

玩家
DG Bradman(澳大利亚)
HC 布鲁克(英文)

我正在尝试使用正则表达式来分割玩家姓名和国家/地区。我知道我们可以使用 str.split 但我想看看是否有可能使用正则表达式来实现它。

Country=Player_column.str.extract(r"(\B\(.+)")
Player=Player_column.str.extract(r"([^a-z]\$(.)")
df['Country'] = Country
df['Player'] = Player
df

所以我能够找出提取括号内的部分(国家/地区名称),但我无法理解如何单独提取玩家信息。 有人可以帮我解决这个问题吗?

pandas regex dataframe data-cleaning python-re
1个回答
0
投票

你可以使用

df[['Player', 'Country']] = df['Player'].str.extract(r'^(.*?)\s*\(([^()]*)\)')

请参阅 正则表达式演示

© www.soinside.com 2019 - 2024. All rights reserved.