Tôi đang sử dụng pymongo và muốn thực hiện tìm kiếm các mục bắt đầu bằng một chuỗi ký tự nhất định. Tôi có thể thực hiện điều đó như sau:MongoDB/PyMongo: làm thế nào để 'thoát' tham số trong tìm kiếm regex?
items = collection.find({ 'key': '/^text/' })
Điều này sẽ hiệu quả, nhưng nếu text
là biến? Tôi có thể làm một cái gì đó như:
items = collection.find({ 'key': '/^' + variable + '/' })
Nhưng bây giờ nếu văn bản trong variable
chứa bất kỳ ký tự với ý nghĩa regex đặc biệt (chẳng hạn như $
), truy vấn không còn cư xử như mong đợi. Có cách nào để thực hiện một số loại ràng buộc tham số không? Tôi có phải tự vệ sinh variable
không? Điều đó thậm chí có thể tin cậy không?
Cảm ơn!
Tôi thấy bạn thay đổi nội dung bài viết của bạn cùng một lúc như tôi gửi câu trả lời của tôi. Có vẻ như cả hai chúng tôi đều đi đến cùng một kết luận: sử dụng mô đun 're'. Cảm ơn! – Sam