Python搜索首先根据结果进行
我想从以下位置重新搜索python中的“begin print x;;;”:Python搜索首先根据结果进行,python,regex,Python,Regex,我想从以下位置重新搜索python中的“begin print x;;;”: fv(x,y,z)开始打印x;;;打印y;;;返回x+y+z结束 我试过这样做:begin=re.search(“begin.+;;;”,line) 但这将返回以下字符串:“开始打印x;;;打印y;;” 有什么想法吗?您需要+的版本。默认情况下,+将匹配尽可能多的字符,因此它将捕获从“开始”到最后出现的“;”的所有内容。请尝试重新搜索(“begin.+?;;”,line)。默认情况下,重复是贪婪的,这意味着它将匹配尽可
fv(x,y,z)开始打印x;;;打印y;;;返回x+y+z结束 我试过这样做:
begin=re.search(“begin.+;;;”,line)
但这将返回以下字符串:“开始打印x;;;打印y;;”有什么想法吗?您需要+的版本。默认情况下,
+
将匹配尽可能多的字符,因此它将捕获从“开始”到最后出现的“;”的所有内容。请尝试重新搜索(“begin.+?;;”,line)。默认情况下,重复是贪婪的,这意味着它将匹配尽可能多的字符。这将导致+
通过第一个
并匹配字符串的其余部分,直到最后一个代码>
要防止出现这种情况,请将+
更改为+?
,这会使重复变慢(尽可能少地匹配字符):
begin = re.search("begin .+?;;;", line)