2011-11-25 40 views
9

tôi chủ yếu muốn để phù hợp với tất cả các dòng KHÔNG chứa chuỗi này "Hello"notepad ++ Inverse Regex thay thế (tất cả nhưng string)

Ví dụ:

sdfsdoifdoskf 
fdgokfdghodfkg 
hello 
fdojgohdfgjkdfg 
gfobjobhkdfokgdfg 
dofjkdsf hello dfgkdfogdfg 
xcvmxhckvmxck 
fogkdfhokg 
hello 

Tôi đã cố gắng mô hình Regex này: ^((?!hello).)*$

Không tìm thấy kết quả phù hợp.

Về cơ bản tôi muốn loại bỏ tất cả các dòng không chứa chuỗi "hello" sử dụng notepad ++

+0

liên quan: http://superuser.com/questions/290247/how-to-delete-all-lines-in-notepad- except-lines-contains-a-word-i-need –

Trả lời

4

(xem cập nhật, bên dưới) Không phải tất cả của regex đều như nhau - chỉ vì nó hoạt động ở một nơi doesn' t có nghĩa là nó hoạt động trong khác. Luôn kiểm tra docs cho loại bạn đang sử dụng.

Trong trường hợp này, không có "!" nhà điều hành. Có thể có những vấn đề khác nữa, mà tôi chưa nhận thấy. Các hack tôi sử dụng cho tình huống này là để làm một "Tìm tất cả trong tài liệu hiện tại" cho "hello", sao chép/dán nội dung của cửa sổ tìm thấy vào một tài liệu riêng biệt, và loại bỏ các số dòng. Phải có một cách tốt hơn - nhưng cho đến khi tôi tìm thấy nó, đó là điều tốt nhất tôi có!

Regex để loại bỏ các số dòng là "^ Line [0-9]+:" - thay thế bằng không có gì, tất nhiên.

Cập nhật: Phiên bản 6 của Notepad ++ đã thay đổi công cụ biểu thức chính quy thành công cụ tương thích Perl, hỗ trợ "|". AFAICT, nếu bạn có phiên bản 5. , cập nhật tự động sẽ không cập nhật thành 6. - bạn phải tải xuống một cách rõ ràng.

+0

Điều đó sẽ không hiệu quả đối với tôi, vì tôi cần giữ nguyên toàn bộ dòng chứa "hello" nguyên vẹn. – user1064906

+0

@ user1064906 Có, nó sẽ. Thử nó! "Tìm tất cả trong tài liệu hiện tại" –

+0

@ user1064906 Xem cập nhật ở cuối - Tôi đã thêm regex để loại bỏ các số dòng –

1

Phiên bản mới (Tôi cập nhật gần đây lên 6.2.2) có! điều hành được thực hiện. Tôi vừa thử nó và nó hoạt động.

+0

"Nó" là mẫu trong câu hỏi. –

3

^((?!hello).)*$ công trình trong Notepad ++ 6. Tôi tự hỏi nếu nó tốt hơn thế này: ^(?!.*hello).*$

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