Sử dụng XPath, tôi muốn "So khớp toàn bộ từ" (tùy chọn cho người dùng, giống như trong tìm kiếm VS).XPath: Đối sánh toàn bộ từ (sử dụng chức năng phù hợp với cờ không phân biệt chữ hoa chữ thường)
Dường như các chức năng contains
và matches
hoạt động tương tự mặc dù các kết quả phù hợp cho phép cờ như i
cho trường hợp không nhạy cảm.
Nói cách khác, tôi nhận được kết quả tương tự với các truy vấn hai XPath:
<pets>
<dog name="Rupert" color="grey"/>
<dog name="Ralph" color="brown"/>
<cat name="Marvin the Cat" color="white"/>
<cat name="Garfield the Cat" color="orange"/>
<cat name="Cat" color="grey"/>
<cat name="Fluffy" color="black"/>
</pets>
Matches XPath: //cat[descendant-or-self::*[@*[matches(.,'Cat')]]]
returns:
<cat name="Marvin the Cat" color="white"/>
<cat name="Garfield the Cat" color="orange"/>
<cat name="Cat" color="grey"/>
Contains XPath: //cat[descendant-or-self::*[@*[contains(.,'Cat')]]]
returns:
<cat name="Marvin the Cat" color="white"/>
<cat name="Garfield the Cat" color="orange"/>
<cat name="Cat" color="grey"/>
Nhưng tôi muốn sử dụng matches
để trả về kết quả phù hợp với "Cát" toàn bộ chỉ từ:
<cat name="Cat" color="grey"/>
Tôi làm cách nào để điều chỉnh truy vấn đối sánh để nó khớp với toàn bộ từ?
EDIT: Tôi quên đề cập đến rằng tôi vẫn cần sử dụng hàm so khớp vì tôi cần cờ không phân biệt chữ hoa chữ thường.
Hmm .. điều này mang lại cho tôi kết quả tôi muốn. Nhưng bạn có thể giải thích^$ neo? Tôi chưa bao giờ sử dụng chúng trước đây .. – developer
Đã thêm liên kết vào câu trả lời, xem phần "Hai ký tự meta ...". –
Cảm ơn, tôi vẫn sẽ cần phải làm một số thử nghiệm, nhưng điều này dường như làm các trick! – developer