我试图用一个约束来提取单词[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
不应该匹配。