मैं एक बाधा के साथ [a-zA-Z]+
शब्दों को निकालने का प्रयास कर रहा हूं: एक शब्द में कम से कम एक कम केस अक्षर होना चाहिए और कम से कम एक ऊपरी केस अक्षर (किसी भी स्थिति में शब्द)। उदाहरण: यदि इनपुट hello 123 worLD
है, तो एकमात्र मैच worLD
होना चाहिए।कम से कम एक निचले केस अक्षर से मिलान करना और कम से कम एक ऊपरी केस अक्षर
मैं इस तरह सकारात्मक lookaheads का उपयोग करने की कोशिश की:
echo "hello 123 worLD" | grep -oP "(?=.*[a-z])(?=.*[A-Z])[a-zA-Z]+"
hello
यह सही नहीं है: केवल मैच hello
बजाय worLD
है।
echo "hello 123 worLD" | grep -oP "\K((?=.*[a-z])(?=.*[A-Z])[a-zA-Z]+)"
hello
worLD
यह अभी भी गलत है: hello
मिलान नहीं किया जाना चाहिए तो मैं यह कोशिश की।