2013-06-03 36 views
9

Tôi cố gắng để phù hợp với các dòng trong sau đây không đầu vào KHÔNG chứa "VelSign" (sử dụng Notepad ++):Matching một dòng không chứa một từ trong Notepad ++

#MARKER VelSign 457,45 50 kmh

# MARKER IsBridge đúng

#MARKER TrafficSign 45

#MARKER TrafficLight 45 445 444 40

Tôi đang sử dụng regex sau: ^#MARKER (?!.*VelSign).*$

Dường như không hoạt động. Tôi đang làm gì sai?

+0

Bây giờ bạn đã chỉnh sửa ra dấu chéo ngược, mô hình này hoạt động hoàn toàn tốt đẹp cho tôi. –

+0

Bạn đã cố gắng sử dụng "Tìm tất cả trong tài liệu hiện tại"? – Jerry

+0

Bản sao có thể có của [notepad ++ Inverse Regex thay thế (tất cả trừ chuỗi)] (http://stackoverflow.com/questions/8264391/notepad-inverse-regex-replace-all-but-string) –

Trả lời

8

Make sure that you upgrade Notepad++ to version 6, vì chúng thay đổi khá nhiều trong công cụ regex. Đặc biệt là ngắt dòng và các giải pháp có chút rắc rối trong các phiên bản trước.

+0

xin lỗi về lỗi đánh máy. Regex của tôi là:^# MARKER (?!. * VelSign). * $ –

+0

@MihaiGALOS phù hợp với tôi. nó phù hợp với bạn là gì? (hoặc nó không phù hợp) –

+0

Cảm ơn phản hồi nhanh. Notepad ++ nói: Không thể tìm thấy văn bản "^ # MARKER (?!. * VelSign). * $" –

8

Rẽ này:

^#MARKER (?!.\*VelSign).*$ 

Into này:

^#MARKER (?!.*VelSign).*$ 

Bạn đang thoát khỏi * điều hành, gây ra các trận đấu của một chữ * thay vì 0 hoặc nhiều ..

Ngoài ra, hãy chắc chắn rằng bạn đã kiểm tra tùy chọn biểu thức chính quy (xem nút radio thứ ba):

enter image description here

+0

@MihaiGALOS Bạn đã cố gắng sử dụng "Tìm tất cả trong tài liệu hiện tại"? – Jerry

+0

Regex là ok. Tôi đã nâng cấp lên 5.9.2 trước khi hỏi, có vẻ như v6 đã khớp với nó ... :) Cảm ơn bạn. –

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