Tôi đến để yêu cầu hỗ trợ của bạn sau rất nhiều nghiên cứu về vấn đề này:cách giới hạn các kết quả phù hợp trên perl bằng regex?
Tôi đang cố gắng hạn chế sự lặp lại của các thay thế mà một regex Perl thực hiện trên một văn bản lớn. Tôi đã tìm kiếm trong Google và thấy rằng định dạng là {2,3} (tối thiểu, tối đa) tuy nhiên điều này có vẻ là một cách khác mà cú pháp tôi đang sử dụng.
$replaced=~s/$var/$var2/g; # replaces all ocurrences
$replaced=~s/$var/$var2/; # replaces only first one
giải pháp tối ưu phi của tôi:
for($i=0; $i<8; $i++){
$replaced=~s/$var/$var2/;
}
Những gì tôi đã cố gắng:
$replaced=~s/$var/$var2/{8};
$replaced=~s/$var/$var2{8}/;
Bất kỳ trợ giúp sẽ được đánh giá cao!
chỉnh sửa: OK vì vậy, có khá nhiều thứ phải liên quan đến vòng lặp huh .. không phải là lạ khi không có thông số được xây dựng để hạn chế nó ??
tại sao bạn cho rằng giải pháp của mình không tối ưu? – Vlad
Vòng lặp for là nhiều hay ít như thế nào tôi sẽ làm điều đó. –
cũng là những gì nếu im phân tích một tập tin 100mb và ocurrences là trên nửa thứ hai của khối, tôi sẽ đọc 50mb đầu tiên mọi lúc, nếu điều này có thể được giới hạn nó sẽ chỉ là một đọc – isJustMe