Tôi muốn một biểu thức sẽ thất bại khi nó gặp các từ như "boon.ini" và "http". Mục tiêu sẽ là lấy biểu thức này và có thể xây dựng cho bất kỳ tập hợp từ khóa nào.Cụm từ thông dụng để loại trừ tập hợp các từ khóa
Trả lời
^(?:(?!boon\.ini|http).)*$\r?\n?
(lấy từ thư viện RegexBuddy 's) sẽ phù hợp với bất kỳ dòng không chứa boon.ini và/hoặc http. Là những gì bạn muốn?
Thay vì phủ nhận kết quả trong biểu thức, bạn nên làm điều đó trong mã của mình. Bằng cách đó, biểu hiện trở nên khá đơn giản.
\b(boon\.ini|http)\b
Sẽ trả lại true
nếu boon.ini hoặc http ở bất kỳ đâu trong chuỗi của bạn. Nó sẽ không khớp với các từ như httpd hoặc httpxyzzy vì các số \b
hoặc từ. Nếu bạn muốn, bạn có thể chỉ cần loại bỏ chúng và nó sẽ phù hợp với những người quá. Để thêm nhiều từ khóa hơn, chỉ cần thêm nhiều đường ống hơn.
\b(boon\.ini|http|foo|bar)\b
bạn có thể được phục vụ tốt bằng cách viết một regex sẽ thành công khi nó gặp các từ bạn đang tìm kiếm và sau đó đảo ngược điều kiện.
Ví dụ, trong perl bạn muốn sử dụng:
if (!/boon\.ini|http/) {
# the string passed!
}
Những thư viện ngôn ngữ/regexp? Tôi nghĩ bạn có câu hỏi là xung quanh ASP.NET, trong trường hợp này bạn có thể thấy phần "tiêu đề tiêu cực" của bài viết này: http://msdn.microsoft.com/en-us/library/ms972966.aspx
Nói một cách chính xác một biểu thức chính quy, vẫn định nghĩa ngôn ngữ thông thường nhưng có rất ít thư viện/ngôn ngữ/công cụ cho phép thể hiện nó.
Nhìn chung tiêu cực có thể phục vụ bạn giống nhau nhưng cú pháp thực tế phụ thuộc vào những gì bạn đang sử dụng. Câu trả lời của Tim là một ví dụ với (?...)
Một biểu hiện khác có thể được sử dụng:
^(?!.*IgnoreMe).*$
^
= chỉ bắt đầu của dòng
$
= cho biết kết thúc của dòng
(?! Expression)
= chỉ không nhìn rộng trước kết quả phủ định trên biểu thức
Cần có ^
ở mặt trước, nếu không thì khi đánh giá giao diện phủ định ahe quảng cáo có thể bắt đầu từ một nơi nào đó bên trong/bên ngoài văn bản 'Bỏ qua' - và tạo một kết hợp mà bạn không muốn nó.
ví dụ: Nếu bạn sử dụng regex:
(?!.*IgnoreMe).*$
Với đầu vào "Hello IgnoreMe Hãy", ý chí này sẽ dẫn đến một cái gì đó như: "gnoreMe Hãy" như cái nhìn tiêu cực về phía trước phát hiện ra rằng không có chuỗi hoàn chỉnh 'IgnoreMe' sau 'Tôi'.
^[^£]*$
Biểu thức trên sẽ chỉ giới hạn biểu tượng bảng tính từ chuỗi. Điều này sẽ cho phép tất cả các ký tự ngoại trừ chuỗi.
Tôi sử dụng này (dựa trên Tim Pietzcker câu trả lời) để loại trừ URL subdomain phi sản xuất cho Google Analytics lọc hồ sơ:
^\w+-*\w*\.(?!(?:alpha(123)*\.|beta(123)*\.|preprod\.)domain\.com).*$
Bạn có thể thấy bối cảnh ở đây: Regex to Exclude Multiple Words
- 1. Cụm từ thông dụng của Python: cách loại trừ superstrings?
- 2. Cụm từ thông dụng khớp với mọi thứ ngoại trừ một cụm từ thông dụng nhất định
- 3. Tách từ bằng các cụm từ thông dụng trong Haskell
- 4. Tham gia các cụm từ thông dụng
- 5. Chia biểu thức thành tập hợp các cụm từ
- 6. Làm thế nào để loại trừ một tập hợp các gói từ maven build jar?
- 7. Cụm từ thông dụng để mở rộng tệp
- 8. cụm từ thông dụng "chứa" một cụm từ thông dụng khác
- 9. Kết hợp với cụm từ thông dụng trong Scala
- 10. Kết hợp cụm từ thông dụng trong Javascript
- 11. Cụm từ thông dụng để tìm biểu thức chính quy?
- 12. Cụm từ thông dụng địa chỉ email hợp lệ?
- 13. Loại trừ các tập tin ẩn từ scandir
- 14. Sử dụng grep với cụm từ thông dụng để lọc ra các kết quả phù hợp
- 15. Cụm từ thông dụng bao gồm tất cả các ký tự bàn phím ngoại trừ '~' và ','
- 16. Danh sách tất cả các từ phù hợp với cụm từ thông dụng
- 17. Tìm kiếm từ được sắp xếp theo từng trường hợp thông qua cụm từ thông dụng
- 18. tạo cụm từ thông dụng từ một chuỗi
- 19. cụm từ thông dụng cho DOT
- 20. Thoát biến trong Cụm từ thông dụng
- 21. Thuật toán để tìm các từ khóa và cụm từ khóa trong một chuỗi
- 22. Cụm từ thông dụng trong OCaml
- 23. Cụm từ thông dụng và GWT
- 24. Cụm từ thông dụng trong findstr
- 25. Cụm từ thông dụng để khớp với hai cụm từ riêng biệt
- 26. Sử dụng cụm từ thông dụng để so sánh số
- 27. Cụm từ thông dụng trong Bash Script
- 28. Trích xuất mã thông báo từ một chuỗi với các cụm từ thông dụng trong .NET
- 29. xác thực khóa công khai ssh-rsa bằng cách sử dụng cụm từ thông dụng
- 30. Làm cách nào để thực hiện các thử nghiệm phù hợp với cụm từ thông dụng?