Tôi gặp một chút rắc rối với một phần của cụm từ thông dụng sẽ được sử dụng trong JavaScript. Tôi cần một cách để khớp với bất kỳ ký tự nào khác ngoài ký tự +
, một chuỗi trống cũng phải khớp.Biểu thức chính quy - Đối sánh bất kỳ ký tự nào ngoại trừ +, chuỗi trống cũng phải khớp với
[^+]
gần như là những gì tôi muốn ngoại trừ nó không khớp với một chuỗi rỗng. Tôi đã thử suy nghĩ [^+]*
: "bất kỳ ký tự nào khác ngoài +
, không hoặc nhiều lần", nhưng điều này khớp với mọi thứ bao gồm +
.
Làm thế nào là nó có thể rằng '[^ +] *' phù hợp với một '+ '? Điều đó không có ý nghĩa. Phải có điều gì khác sai với biểu hiện của bạn. –
@ScottRippey: Tôi đoán (trong câu trả lời của tôi) rằng định lượng '*' đã cho phép kết hợp thành công bằng cách không khớp (không có ký tự nào không phải là '+') thành công. Không có neo hoặc các xác nhận khác, nó về mặt lý thuyết có thể khớp trước hoặc sau '+', do đó cho phép toàn bộ chuỗi khớp với nhau. (Tất nhiên nó sẽ phù hợp với trước bởi vì đó là lần đầu tiên, và nó sẽ dừng lại ở đó) không đánh giá này không có ý nghĩa với bạn? –