Tôi đang cố gắng trích xuất các từ [a-zA-Z]+
với một ràng buộc: một từ phải chứa ít nhất một chữ thường và ít nhất một chữ cái viết hoa (ở bất kỳ vị trí nào trong từ). Ví dụ: nếu đầu vào là hello 123 worLD
, kết quả phù hợp duy nhất phải là worLD
.Kết hợp ít nhất một chữ cái viết thường và ít nhất một chữ cái viết hoa
Tôi cố gắng để sử dụng lookaheads tích cực như thế này:
echo "hello 123 worLD" | grep -oP "(?=.*[a-z])(?=.*[A-Z])[a-zA-Z]+"
hello
Đây không phải là chính xác: trận đấu chỉ là hello
thay vì worLD
. Sau đó, tôi đã thử điều này:
echo "hello 123 worLD" | grep -oP "\K((?=.*[a-z])(?=.*[A-Z])[a-zA-Z]+)"
hello
worLD
Điều này vẫn không chính xác: hello
không được khớp.