Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 正则表达式匹配括号内的两组字符串_Python_Regex_Regex Group - Fatal编程技术网

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]+)
然后用空格分割剥离的匹配项。请参阅。