Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/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
Regex 正则表达式从字符串中查找子字符串_Regex_Python 2.7 - Fatal编程技术网

Regex 正则表达式从字符串中查找子字符串

Regex 正则表达式从字符串中查找子字符串,regex,python-2.7,Regex,Python 2.7,我有这样的字符串: str1 = eval(sum(feat(57),feat(57),feat(66))/feat(57)); str2 = eval(sum(feat(47),feat(55),feat(86))); str3 = eval(feat(47)/sum(feat(51),feat(52),feat(53))); str4 = eval(feat(63)/sum(feat(57):feat(66))); 我想写一个正则表达式作为: str1_output = (feat(57)

我有这样的字符串:

str1 = eval(sum(feat(57),feat(57),feat(66))/feat(57));
str2 = eval(sum(feat(47),feat(55),feat(86)));
str3 = eval(feat(47)/sum(feat(51),feat(52),feat(53)));
str4 = eval(feat(63)/sum(feat(57):feat(66)));
我想写一个正则表达式作为:

str1_output = (feat(57),feat(57),feat(66))
str2_output = (feat(47),feat(55),feat(86))
str3_output = (feat(51),feat(52),feat(53))
str4_output = (feat(57):feat(66))
我尝试了以下方法:

output = re.findall(re.compile(r"sum.*"),str_name)
除str1外,这提供了正确的输出

请给我建议一种方法来找出所需的输出。

我想你可以试试

sum\((?:\([^()]*\)|.)*?\)
它匹配sum和下面匹配的一对括号,以及它们之间的任何内容

例如


问候。

你试过什么吗?是的,@evuez。我尝试了以下方法:re.findallre.compilersum.*,str1此正则表达式提供了正确的输出,但“str1”除外。好的,然后将此添加到您的问题中,您将获得更多帮助:@evuez I added。谢谢: