vì vậy, tôi có một số loại url nội bộ: ví dụ: "/img/pic/Image1.jpg" hoặc "/pic/Image1.jpg" hoặc chỉ "Image1.jpg" và tôi cần để phù hợp với "Image1.jpg" này nói cách khác tôi muốn khớp chuỗi ký tự cuối cùng sau/hoặc nếu không có/không chỉ là chuỗi ký tự. Cảm ơn bạn trước!Kết hợp từ cuối cùng sau/
Trả lời
.*/(.*)
sẽ không hoạt động nếu không có/s.
([^/]*)$
nên hoạt động cho dù có hay không.
Nhưng '[\ s \ S] */(. *)' Sẽ. – Gumbo
.*/([^/]*)
Nhóm chụp phù hợp với chuỗi cuối cùng sau /.
Sẽ không khớp với 'Image1.jpg' –
Các biểu thức sau đây sẽ làm các trick.
/([\w\d._-]*)$
Hoặc thậm chí dễ dàng hơn (nhưng tôi nghĩ rằng đây cũng đã được đăng tải dưới đây trước khi tôi)
([^/]+)$
Something như */(*.) $ (chi tiết phụ thuộc vào việc chúng ta đang nói về Perl hay một số phương ngữ khác của cụm từ thông dụng)
Đầu tiên. * khớp mọi thứ (kể cả dấu gạch chéo). Sau đó, có một dấu gạch chéo, sau đó có. * Phù hợp với tất cả mọi thứ từ dấu gạch chéo đó đến cùng (đó là $).
* Hoạt động tham lam từ trái sang phải, có nghĩa là khi bạn có nhiều dấu gạch chéo, cột đầu tiên. * Sẽ khớp với tất cả trừ dấu gạch cuối cùng.
Regex * yêu cầu * dấu gạch chéo, vì vậy' Image1.jpg' sẽ không khớp với –
Trong Ruby Bạn sẽ viết
([^\/]*)$
regexps trong Ruby là khá phổ biến và Bạn có thể kiểm tra chúng sống ở đây: http://rubular.com/ Bằng cách này: có thể có một giải pháp khác mà không liên quan đến regexps? Ví dụ: File.basenam(path)
(Ruby lại)
Chỉnh sửa: profjim đã đăng nó trước đó.
Tôi nhận thấy bạn đã nói trong nhận xét của bạn rằng bạn đang sử dụng javascript. Bạn không thực sự cần một regex cho điều này và tôi luôn luôn nghĩ rằng nó tốt đẹp để có một thay thế cho việc sử dụng regex.
var str = "/pic/Image1.jpg";
str.split("/").pop();
// example:
alert("/pic/Image1.jpg".split("/").pop()); // alerts "Image1.jpg"
alert("Image2.jpg".split("/").pop()); // alerts "Image2.jpg"
Thực ra bạn không cần regexp cho việc này.
s="this/is/a/test"
s.substr(s.lastIndexOf("/")+1)
=> test
và nó cũng hoạt động tốt cho các chuỗi mà không cần bất kỳ /
vì sau đó lastIndexOf trả về -1.
s="hest"
s.substr(s.lastIndexOf("/")+1)
=> hest
Một regex đơn giản mà tôi đã thử nghiệm:
\w+(.)\w+$
Đây là một trang web tốt, bạn có thể thử nghiệm nó trên: http://rubular.com/
- 1. sed chỉ mẫu kết hợp cuối cùng
- 2. CSS3: sau khi Trọng: cuối cùng con
- 3. Mercurial undo cam kết cuối cùng
- 4. PHP Lấy id chèn cuối cùng từ kết nối ODBC
- 5. Rollback để git cam kết cuối cùng
- 6. Làm cách nào để tìm lần kết hợp cuối cùng trong git?
- 7. bootstrap scrollspy đánh dấu nút liên kết điều hướng cuối cùng sau khi tải
- 8. stringstream bản sao từ cuối cùng
- 9. Xóa mọi thứ sau dấu gạch chéo ngược cuối cùng
- 10. Nhận từ cuối cùng từ một chuỗi trong Javascript
- 11. Nhận url cuối cùng từ đối tượng XHR sau khi chuyển hướng
- 12. Nhận tin nhắn cuối cùng hoặc sự khác biệt của CVS cuối cùng cam kết
- 13. Lấy từ cuối cùng của số NSString
- 14. R xóa từ cuối cùng khỏi chuỗi
- 15. mysql chọn từ n hàng cuối cùng
- 16. Nhận các ký tự sau/cuối cùng trong url
- 17. Gọi hàm javascript sau 5 giây bấm phím cuối cùng
- 18. Chỉ đăng ký khóa sau khóa cuối cùng với jquery
- 19. Remove chuỗi sau dấu gạch chéo cuối cùng trong JAVA
- 20. Nhận nội dung sau dấu gạch chéo cuối cùng
- 21. Java: Lấy phần tử cuối cùng sau khi tách
- 22. Kết hợp một NSMutableArray vào cuối NSMutableArray
- 23. Thay thế thích hợp cho thiếu 'cuối cùng' trong C++
- 24. : cuối cùng con không chọn phần tử cuối cùng
- 25. Phương pháp không phải cuối cùng trong lớp cuối cùng
- 26. Lệnh cuối cùng trong cùng thiết bị đầu cuối
- 27. Tạo Hashtable là kết quả cuối cùng trong java
- 28. Biến Android cuối cùng
- 29. Tách cột theo từ cuối cùng trong câu
- 30. Có trường hợp như vậy khi thử \ cuối cùng chặn cuối cùng sẽ không được thực hiện?
regex là phổ quát) nhưng nó cho javascript regex –
regexes không phổ biến, có một số hương vị với các khả năng khác nhau. Nhưng regex Perl này sẽ làm nhiệm vụ của bạn: '^ (?:. * /) * (. *) $' –
bạn không cần regex cho việc này.sử dụng ngôn ngữ yêu thích của bạn, chia thành "/" và sau đó lấy phần tử cuối cùng. Đơn giản hơn nhiều so với chế tác regex. – ghostdog74