Python 如何在';(';和下一个空白
因此,我有一组字符串,它们具有以下基本设置Python 如何在';(';和下一个空白,python,regex,Python,Regex,因此,我有一组字符串,它们具有以下基本设置TeamName(GMName-Tier)我正在尝试找到一种从该字符串获取GMName的好方法 我尝试使用这个正则表达式: \(\w*\s 但是这给了我(GMName,然后我必须以某种方式对其进行解析才能得到GMName。是否有一个regex或一些Python函数,我可以在一行中使用它来得到我想要的东西?您可以对打开的paren使用lookback,或者使用一个捕获组 回头看 >>> pat = re.compile(r""" ...
TeamName(GMName-Tier)
我正在尝试找到一种从该字符串获取GMName的好方法
我尝试使用这个正则表达式:
\(\w*\s
但是这给了我
(GMName
,然后我必须以某种方式对其进行解析才能得到GMName。是否有一个regex或一些Python函数,我可以在一行中使用它来得到我想要的东西?您可以对打开的paren使用lookback,或者使用一个捕获组
回头看
>>> pat = re.compile(r"""
... (?<=\() # asserts that a literal ( precedes the following:
... \S+ # one or more non-spaces
... """, re.X)
>>> pat.search("TeamName (GMName - Tier)").group()
"GMName"
如果只想检查周围的字符串而不将其捕获到匹配文本中,则需要使用look arounds
(?<=\()\w*\b
印刷品
['GMName']
只需将
re.findall(r'\(\w+\s',s)
,re.findall
与包含单个捕获组的模式一起使用即可。无需进行查找。很高兴提供帮助:)
import re
s = 'TeamName (GMName - Tier)'
arr = re.findall(r'(?<=\()\w*\b', s)
print(arr)
['GMName']