Tôi đang sử dụng một regex để tìm:Regex lookahead
test:?
Tiếp theo là bất kỳ ký tự cho đến khi nó chạm tiếp theo:
test:?
Bây giờ khi tôi chạy regex này tôi đã thực hiện:
((?:test:\?)(.*)(?!test:\?))
Trên văn bản này:
test:?foo2=bar2&baz2=foo2test:?foo=bar&baz=footest:?foo2=bar2&baz2=foo2
tôi mong đợi để có được:
test:?foo2=bar2&baz2=foo2
test:?foo=bar&baz=foo
test:?foo2=bar2&baz2=foo2
Nhưng thay vì nó phù hợp với tất cả mọi thứ. Có ai có nhiều kinh nghiệm về regex biết tôi đã đi sai không? Tôi đã sử dụng regexes cho phù hợp với mô hình trước đây nhưng đây là kinh nghiệm đầu tiên của tôi về cách nhìn/aheads.
Cảm ơn trước sự giúp đỡ nào/lời khuyên/con trỏ :-)
Bạn chỉ cần muốn chia trên 'test:?'? Nếu bạn đang có, môi trường của bạn sẽ cung cấp một cách để làm điều đó mà không có biểu thức thông thường. –