Tôi có Java chuỗi:Java biểu thức thông thường và ký hiệu đô la
String b = "/feedback/com.school.edu.domain.feedback.Review$0/feedbackId");
Tôi cũng đã tạo ra mô hình dựa vào đó tôi muốn để phù hợp với chuỗi này:
String pattern = "/feedback/com.school.edu.domain.feedback.Review$0(.)*";
Khi tôi nói b.matches(pattern)
nó trả false
. Bây giờ tôi biết ký hiệu đô la là một phần của Java RegEx, nhưng tôi không biết mẫu của tôi trông như thế nào. Tôi giả định rằng $ trong mô hình cần phải được thay thế bằng một số ký tự thoát, nhưng không biết bao nhiêu. Ký hiệu $ này rất quan trọng đối với tôi vì nó giúp tôi phân biệt các yếu tố trong danh sách (số sau đô la), và tôi không thể không có nó.
Chỉ cần rõ ràng, '$' trong regex khớp với kết thúc của dòng. Regex của bạn sẽ khớp với một chuỗi có dòng đầu tiên kết thúc bằng 'Đánh giá' và dòng tiếp theo bắt đầu bằng ký tự' 0'. – Amarghosh
@ Amarghosh: Tôi không nghĩ vậy. Regex này có thể * không bao giờ * khớp vì phải có CR và/hoặc LF giữa phần cuối của dòng và các ký tự đầu tiên của dòng thứ hai. –
@Tim Rất tiếc, bạn nói đúng - tôi đã bỏ lỡ nó. Vì tôi không thể chỉnh sửa nhận xét nữa, hãy để tôi chỉ yêu cầu mọi người __đọc sửa chữa của Tim cho bình luận đầu tiên của tôi__ – Amarghosh