Karena Anda menggunakan subpattern yang dikuantifikasi dan sebagaimana dijelaskan dalam Perl Doc ,
Secara default, subpattern yang dikuantifikasi adalah " serakah ", yaitu, ia akan cocok sebanyak mungkin (diberikan lokasi awal tertentu) sambil tetap membiarkan sisa pola untuk mencocokkan. Jika Anda ingin
agar sesuai dengan jumlah minimum yang dimungkinkan, ikuti penghitung
dengan "?" . Perhatikan bahwa artinya tidak berubah, hanya "keserakahan":
*? //Match 0 or more times, not greedily (minimum matches)
+? //Match 1 or more times, not greedily
Jadi, untuk memungkinkan pola terkuantifikasi Anda membuat kecocokan minimum, ikuti dengan ?
:
/location="(.*?)"/