我正在尝试将 Powershell 脚本转换为 python 脚本。我打算使用 Shell 脚本来简化 grep 和 curl 的使用,但我决定使用 python 来简化 if 语句。这是我要转换的 Powershell 代码:
Powershell 代码(效果很好):
$ReturnedRegExData = SearchStringAll -StringToSearch $Data -RegEx $ImgURLRegex
if ($ReturnedRegExData) #Check Existance of Matches
{
foreach ($Image in $ReturnedRegExImageData) #Run Through all Matches
#Can then get the result from the group of results and run through them 1 at a time via $Image
}
else
{
#exit
}
这是我对 Python 的尝试,效果不太好
ReturnedRegExData = re.findall($ImgURLRegex , $Data)
if ReturnedRegExImageData: #Check existance of Matches (Works)
print "found"
else:
sys.stderr.write("Error finding Regex \r\n")
return
$For Loop running through results
re.search 使用此打印 ReturnedRegExImageData.group(0),但我想找到所有匹配项,并且非常难以复制 foreach ($Image in $ReturnedRegExImageData) 这一行:我尝试过使用 for Image in ReturnedRegExData 和从 0 到 len(ReturnedRegExData) 的 for 循环,但它们不返回有效数据。我知道 Python 应该是简单的编码,但我很难处理它。
我已经阅读了 .match、/search 和 .findall 的类似帖子,它们都涉及搜索部分,但没有涉及如何以有用的格式获得结果。我已经浏览了手册,但我也很难理解这一点。
如何遍历 findall 找到的结果,是否返回 0、1 或更多结果。0 应该被 if 语句覆盖。
感谢您的任何帮助,您可以提供。
Ĵ