Update:
String val="text KEYWORD1 text KEYWORD1 text KEYWORD2 text KEYWORD2";
String REGEX="KEYWORD1((.(?!KEYWORD1))+?)KEYWORD2";
Pattern pattern = Pattern.compile(REGEX);
Matcher matcher = pattern.matcher(val);
if(matcher.find()){
System.out.println(matcher.group());
}
See how it works:

Explanation:
1st capture group ((.(?!KEYWORD1))+?)
Second capture group (.(?!KEYWORD1))+?
Quantifier ( +?): between one and unlimited time, as little as possible, expanding if necessary [lazy]
. . , ,
. ( )
(?!KEYWORD1) Lookahead - ,
KEYWORD1 KEYWORD1 ( )
KEYWORD2 KEYWORD2 ( )