Trong khi tôi không thể trực tiếp giải thích tại sao 2
là như "*?<*?"
.
Truy vấn của bạn đọc;
*
- Match 0 hoặc nhiều ký tự
?
- Tiếp theo là một ký tự đơn
<
- Tiếp theo là <
nhân vật
*
- Tiếp theo là 0 hoặc nhiều ký tự
?
- Kết thúc bởi một ký tự đơn
Đối với logic của bạn, bạn muốn;
ít nhất ba nhân vật trước khi nó phù hợp với "<" xảy ra ở đâu đó trên phần bên trong của chuỗi
Những kết quả trong một truy vấn của;
Dim rc As Boolean = "2" Like "???*<*"
Lần đọc nào;
???
- Trận ít nhất 3 ký tự
*
- Tiếp theo là bất kỳ số lượng ký tự thêm
<
- Tiếp theo là <
nhân vật
*
- Tiếp theo là bất kỳ số lượng ký tự thêm
Không phải là câu trả lời trực tiếp mà tôi biết, nhưng tôi hy vọng nó sẽ giúp tất cả ...
EDIT:
Để trả lời bình luận của bạn dưới đây.
Bạn muốn;
tìm một chuỗi trong đó có một "<" ở đâu đó có ít nhất một nhân vật ở hai bên
Những kết quả trong một truy vấn của;
Dim rc As Boolean = "2" Like "*?<?*"
Điều này sẽ trả về kết quả là sai;
Dim rc As Boolean = "<" Like "*?<?*"
Tuy nhiên;
Dim rc As Boolean = "2<2" Like "*?<?*"
Sẽ trả về đúng sự thật.
Tôi hy vọng điều này sẽ giúp (nhiều hơn nữa)
Tôi không biết tại sao "2" khớp với "<". Tuy nhiên, nó không yêu cầu ba ký tự trước khi từ '*' là một ký tự đại diện cho bất cứ điều gì (vì vậy thậm chí không có ký tự). –
Tôi biết * phù hợp với bất kỳ điều gì, vì vậy "2" chuyển cả * và? ký tự đại diện, nhưng
Thật kỳ lạ nếu bạn xóa ngay cả một trong hai ký tự kết thúc kết quả là sai. – Steve