首页 > 解决方案 > 如何在“(”和下一个空格之间的语句中获取特定单词

问题描述

因此,我有一堆具有此基本设置的字符串,TeamName (GMName - Tier)我正在尝试找到一种从该字符串中获取 GMName 的好方法。

我尝试使用这个正则表达式: \(\w*\s 但这给了我(GMName,然后我必须以某种方式解析它才能仅获取 GMName。我可以在一行中使用正则表达式或一些 Python 函数来获得我想要的东西吗?

标签: pythonregex

解决方案


如果您只想检查周围的字符串而不将它们捕获到匹配文本中,则需要使用环视。你这个正则表达式,

(?<=\()\w*\b

在这里,(?<=\()确保,单词前面是文字(,并\b确保它是单词边界。

演示

示例python代码,

import re
s = 'TeamName (GMName - Tier)'
arr = re.findall(r'(?<=\()\w*\b', s)
print(arr)

印刷,

['GMName']

推荐阅读