Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.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 - Fatal编程技术网

Python搜索首先根据结果进行

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)。默认情况下,重复是贪婪的,这意味着它将匹配尽可

我想从以下位置重新搜索python中的“begin print x;;;”:
fv(x,y,z)开始打印x;;;打印y;;;返回x+y+z结束

我试过这样做:
begin=re.search(“begin.+;;;”,line)

但这将返回以下字符串:“开始打印x;;;打印y;;”

有什么想法吗?

您需要+的版本。默认情况下,
+
将匹配尽可能多的字符,因此它将捕获从“开始”到最后出现的“;”的所有内容。请尝试重新搜索(“begin.+?;;”,line)。

默认情况下,重复是贪婪的,这意味着它将匹配尽可能多的字符。这将导致
+
通过第一个
并匹配字符串的其余部分,直到最后一个

要防止出现这种情况,请将
+
更改为
+?
,这会使重复变慢(尽可能少地匹配字符):

begin = re.search("begin .+?;;;", line)