Python 正则表达式匹配括号内的两组字符串
我有一个文本块,包括以下内容:Python 正则表达式匹配括号内的两组字符串,python,regex,regex-group,Python,Regex,Regex Group,我有一个文本块,包括以下内容: race={ heat1={ names={ ALEX DAN PETER } } heat2={ names={ RYAN DYLAN } } } 我如何构建一个正则表达式来将所有的heat1名称放入组1,并将所有的heat2名称放入组2?我找不到已经被问过的一对一问题,我能得到的最接近的问题是: (?:names={)( [A-z]+ ) 返回同一组中的ALEX和RYAN。使用re.findall()函数: import re s = 'race={ h
race={ heat1={ names={ ALEX DAN PETER } } heat2={ names={ RYAN DYLAN } } }
我如何构建一个正则表达式来将所有的heat1名称放入组1,并将所有的heat2名称放入组2?我找不到已经被问过的一对一问题,我能得到的最接近的问题是:
(?:names={)( [A-z]+ )
返回同一组中的ALEX和RYAN。使用re.findall()
函数:
import re
s = 'race={ heat1={ names={ ALEX DAN PETER } } heat2={ names={ RYAN DYLAN } } }'
result = re.findall(r'heat[12]=\{ names=\{ ([^}]+[^}\s])', s)
print(result)
输出:
['ALEX DAN PETER', 'RYAN DYLAN']
使用re.findall()
函数:
import re
s = 'race={ heat1={ names={ ALEX DAN PETER } } heat2={ names={ RYAN DYLAN } } }'
result = re.findall(r'heat[12]=\{ names=\{ ([^}]+[^}\s])', s)
print(result)
输出:
['ALEX DAN PETER', 'RYAN DYLAN']
使用names={([A-Z]+)
然后用空格分割剥离的匹配项。请参阅。使用names={([A-Z]+)
然后用空格分割剥离的匹配项。请参阅。