Если вы используете этот RegEx "(\ d +) << (\ d +)", вы можете использовать группы захвата 1 и 2 для логики своей программы. Вот пример: </p>
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MainApp {
public static void main(String[] args) {
String[] searchMe = {"3<<123", "2<<123", "4<<1234", "4<<123"};
//indexes 0 and 2 should pass the test
String regExPattern = "(\\d+)<<(\\d+)";
Pattern p = Pattern.compile( regExPattern );
for(String x : searchMe){
Matcher m = p.matcher( x );
boolean b = m.matches();
if(b)
{
int numLen = Integer.parseInt(m.group(1));
String group2 = m.group(2);
if(group2.length() == numLen ){
System.out.println(x);
}
}
}
}
}
Моя консоль распечатывает:
3<<123
4<<1234