Tìm kiếm Visual Studio: tìm một từ, nhưng không phải khi đứng trước một từ cụ thể [trùng lặp]
Ví dụ: tôi đang cố gắng tìm tất cả các trường hợp của "dog", nhưng không phải "dog" trong "hot dog" trong một tệp văn bản bằng tìm kiếm văn bản của Visual Studio. Tôi đã tìm thấy một câu hỏi tương tự và đã thử câu trả lời được chấp nhận của nó.
\w+(?<!hot) dog
Nó không loại trừ "hot dog", nhưng vấn đề là nó phù hợp với tất cả các kết hợp có thể có cho các trường hợp khác. Đó là, đối với "chó săn", tôi phải nhấp vào "Tìm tiếp theo" 7 lần để chuyển sang phiên bản tiếp theo, vì VS dừng lại cho tất cả các phần sau của phiên bản đó.
hunting dog
unting dog
nting dog
ting dog
ing dog
ng dog
g dog
Ngoài ra, nó không khớp với từ, nếu nó không đứng trước bất cứ thứ gì (từ đầu tiên). Làm cách nào để thay đổi biểu thức?
Trả lời
Câu hỏi không hoàn toàn rõ ràng. Nếu bạn muốn tìm từ "dog", thì trong tìm kiếm bạn chỉ cần chỉ định nó. Nếu bạn muốn tìm từ trước đó + con chó thì hãy sử dụng
\b\w+\s+dog
Để loại trừ từ "nóng"
(?<!hot )\bdog
Thử mẫu (?!<hot )dog
Giải thích mẫu:
(?!<hot )
- cái nhìn tiêu cực - khẳng định những gì thu được không phải là hot
dog
- khớp theo dog
nghĩa đen
Bản giới thiệu