我試圖用一個約束來提取單詞[a-zA-Z]+
:一個單詞必須包含至少一個小寫字母和至少一個大寫字母(在任意位置這個單詞)。例如:如果輸入是hello 123 worLD
,唯一的匹配應該是worLD
。匹配至少一個小寫字母和至少一個大寫字母
我試圖用積極的向前看符號是這樣的:
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
不應該匹配。