Bởi vì bạn đang sử dụng mô hình con được định lượng và được giải thích trong Perl Doc ,
Theo mặc định, một mô hình con được định lượng là " tham lam ", nghĩa là nó sẽ khớp nhiều lần nhất có thể (với một vị trí bắt đầu cụ thể) trong khi vẫn cho phép phần còn lại của mẫu khớp với nhau. Nếu bạn muốn nó
khớp với số lần tối thiểu có thể, hãy làm theo bộ định lượng
bằng dấu "?" . Lưu ý rằng ý nghĩa không thay đổi, chỉ là "sự tham lam":
*? //Match 0 or more times, not greedily (minimum matches)
+? //Match 1 or more times, not greedily
Do đó, để cho phép mẫu được định lượng của bạn thực hiện khớp tối thiểu, hãy làm theo mẫu bằng cách ?
:
/location="(.*?)"/