Thảo luận MediaWiki:Gadget-morebits.js

Nội dung trang không được hỗ trợ ở ngôn ngữ khác.
Thêm đề tài
Bách khoa toàn thư mở Wikipedia
Bình luận mới nhất: 1 năm trước bởi CookieGMVN trong đề tài Regex

Regex[sửa mã nguồn]

@Plantaest: Đoạn biểu thức chính quy ở dòng 4020 không có cờ g; nếu hình được dùng nhiều lần trong cùng trang thì Twinkle chỉ ẩn được một. Phiền anh sửa giúp. Danh tl 17:04, ngày 9 tháng 11 năm 2022 (UTC)Trả lời

@NguoiDungKhongDinhDanh: Chỗ này tôi hơi ngại, có chắc là bạn test chưa. Dòng 4025, 4034, 4042 đều có các flag "g". Có khi là cố tình không, chứ sao lại không thêm được ta. Dang (thảo luận) 17:12, ngày 9 tháng 11 năm 2022 (UTC)Trả lời
@Plantaest: Anh nói đúng; links_re chỉ dùng để kiểm tra xem một liên kết wiki có phải tập tin đó hay không. Tuy nhiên, nếu vậy, tại sao phải gỡ liên kết ở cùng một bài đến hai lần? Danh tl 17:19, ngày 9 tháng 11 năm 2022 (UTC)Trả lời
Tôi ném đoạn regex \\[\\[(?:[Ii]mage|[Ff]ile|[Tt]ập( |_)+[Tt]in|[Hh]ình):\\s* vào regex101 thì nó báo lỗi "Unmatched parenthesis". Có lẽ không phải do flag "g". Dang (thảo luận) 17:19, ngày 9 tháng 11 năm 2022 (UTC)Trả lời
Thôi để tính tiếp sau vậy. Tôi không nghĩ là do thiếu flag "g". Cần phải kiểm lại cái hàm commentOutImage nó chạy thế nào. CC CookieGMVN. Dang (thảo luận) 17:21, ngày 9 tháng 11 năm 2022 (UTC)Trả lời
@Plantaest sẽ ngó qua vào ngày mai. — Ô-rê-ô Cúc-ki làm miếng hông? (っˆڡˆς) 17:36, ngày 9 tháng 11 năm 2022 (UTC)Trả lời
Nhầm, regex vẫn đúng, chỉ cần chuyển \\ thành \ là ok. Vì regex ở đây sinh bởi class RegExp nên sẽ cần escape, chứ không như regex literal. Dang (thảo luận) 17:23, ngày 9 tháng 11 năm 2022 (UTC)Trả lời
Chắc phải test riêng, không manh động. Mã links_re.test(allLinks[i]) tức là kiểm xem phần tử allLinks[i] có khớp với regex links_re. Theo tôi nếu thêm flag "g" thì cũng chả có ý nghĩa, vì phần tử allLinks[i] có lẽ là đơn nhất. Bên enwiki cũng không có flag "g" cho chỗ này. Dang (thảo luận) 17:29, ngày 9 tháng 11 năm 2022 (UTC)Trả lời