Tôi chắc chắn điều này phải đủ dễ dàng, nhưng tôi đang gặp khó khăn ...filename trận đấu và phần mở rộng tập tin từ đơn Regex
var regexFileName = /[^\\]*$/; // match filename
var regexFileExtension = /(\w+)$/; // match file extension
function displayUpload() {
var path = $el.val(); //This is a file input
var filename = path.match(regexFileName); // returns file name
var extension = filename[0].match(regexFileExtension); // returns extension
console.log("The filename is " + filename[0]);
console.log("The extension is " + extension[0]);
}
Chức năng trên hoạt động tốt, nhưng tôi chắc chắn nó phải là có thể đạt được với một regex đơn, bằng cách tham khảo các phần khác nhau của mảng được trả về bằng phương thức .match(). Tôi đã thử kết hợp các regex nhưng không thành công.
Ngoài ra, tôi không sử dụng một chuỗi thử nghiệm nó trên trong ví dụ, như console.log() thoát khỏi sự backslashes trong một filepath và nó đã bắt đầu để gây nhầm lẫn cho tôi :)
tôi nhiều hơn một chàng trai .net regex nhưng không bạn thiếu nhóm chụp đầu tiên? – rtpHarry
@rtpHarry: Toàn bộ trận đấu (nhóm 0) là tên tệp (bao gồm cả phần mở rộng), nhóm chụp đầu tiên (nhóm 1) là phần mở rộng. –
Anh ta cần tên tệp, chứ không phải toàn bộ đường dẫn. – shift66