8

Trong Visual Studio 2010, làm thế nào để bạn tìm kiếm văn bản không nằm trong một dòng chú thích? EG làm thế nào để tìm thấy "bas" trong:Trong Visual Studio 2010, làm thế nào để bạn tìm kiếm văn bản không nằm trong một dòng chú thích?

foo bar bas 

nhưng không phải trong

foo bar // bas 

Lưu ý rằng nó nên tìm dòng:

foo/bar/bas 

(chỉnh sửa) Và nó không nên tìm ra line:

foo // bar bas 
+0

Được rồi, vì vậy tôi đã hỏi câu hỏi này để tôi có thể tham khảo lại câu trả lời của riêng mình. Thật không may, tôi phải đợi 8 giờ để trả lời câu hỏi của riêng mình. Visual Studio dường như không có các cấu trúc điển hình, nhìn phía sau. Nó có một xác nhận tiêu cực không có chiều rộng bằng 0. Cú pháp là ~ (x) có nghĩa là mẫu không khớp với x tại điểm này trong mẫu. Sử dụng contruct này, tôi đã đưa ra điều này: ^ (. ~ (//)) * bas Hoạt động thực sự tốt, nhưng sẽ không khớp với dòng mà // là hai ký tự đầu tiên trên dòng. Một phiên bản cần sửa là: ^ ~ (//) (. ~ (//)) * bas – Tony

+0

Bạn đã đặt một câu hỏi để tự mình trả lời? – iandotkelly

+0

Vì vậy, bạn đã đăng nhận xét đó vì tôi đã trả lời câu hỏi của bạn chưa? :) – Tony

Trả lời

6

Được rồi, vì vậy tôi đã hỏi câu hỏi này để tôi có thể tham khảo lại câu trả lời của riêng mình.

Visual Studio dường như không có các cấu trúc điển hình, nhìn phía sau. Nó có một xác nhận tiêu cực không có chiều rộng bằng 0. Cú pháp là ~ (x) có nghĩa là mẫu không khớp với x tại điểm này trong mẫu. Sử dụng cấu trúc này, tôi đã đưa ra điều này: ^(.~(//))*bas Hoạt động thực sự tốt, nhưng sẽ không loại trừ một dòng có // là hai ký tự đầu tiên trên dòng. Một phiên bản cần sửa là: ^~(//)(.~(//))*bas

6

Trong Visual Studio Tìm quay số og, hãy thử sử dụng biểu thức chính quy này (hãy chắc chắn để chọn Sử dụng: Regular expressions trong các tùy chọn Find):

~(//[.:b]*)<bas> 

này nên tìm tất cả các lần xuất hiện của từ bas mà không được đi trước bởi //.

Lưu ý rằng cú pháp regex Visual Studio hơi khác so với cú pháp thông thường. Bạn có thể tìm thấy tài liệu tham khảo HERE.

+0

Điều này không hoạt động trong ví dụ: foo // bar/bas nơi bas nằm trong một chú thích và không nên tìm thấy nó. Cảm ơn câu trả lời, mặc dù, và cho liên kết. Ngoài ra, các ranh giới từ < and > có lẽ không cần thiết, mặc dù nó phụ thuộc vào những gì bạn muốn. – Tony

+5

Đối với người dùng VS2012: "Visual Studio 2012 sử dụng biểu thức chính quy .NET Framework để tìm và thay thế văn bản. Trong Visual Studio 2010 và phiên bản cũ hơn, Visual Studio sử dụng cú pháp biểu thức chính quy tùy chỉnh trong cửa sổ Tìm và thay thế". Nguồn: [Sử dụng cụm từ thông dụng trong Visual Studio] (http://msdn.microsoft.com/en-us/library/2k3te2cs (v = vs.110) .aspx) –

Các vấn đề liên quan