我知道如何捕获两个标记之间的子字符串的单个实例:
Python 3 How to get string between two points using regex?
我用以下字符串测试了该方法:
<input multiple="multiple" name="photos[]" type="file">
我想获取这些标记'$ {'和'}'之间的所有子字符串,但它仅获取第一个。
public function update(Request $request)
{
$product = Product::with('ProductsPhoto')->find($request->product_id,'id');
if ($request->hasFile('photos')){
//Add the new photo
foreach ($request->photos as $photo) {
$filename = $photo->store('public/photos');
ProductsPhoto::create([
'product_id' => $product->id,
'filename' => $filename
]);
}
$oldFilename = $product->ProductsPhoto->filename;
//Update the database
$product->ProductsPhoto->filename = $filename;
//Delete old photo
Storage::delete($oldFilename);
}
$product->save();
}
我如何得到所有这些?
答案 0 :(得分:1)
您需要一个正则表达式方法,该方法将在字符串中查找所有匹配项。您应该尝试re.findall('\$\{(.+?)\}', text)
或re.finditer('\$\{(.+?)\}', text)
。第一个将返回一个列表,第二个将返回一个可迭代。