import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

class Ideone
{
    private static String REGEX = "\\[(?!\\d+])([^\\]\\[]*)]";
    private static List sampleData = Arrays.asList("test from [a.b.v1.2.0.71-0] to [a.b.v1.2.0.73-0]",
            "requests[45180], indices[movies]");

    public static void main(String[] args) {
        Pattern pattern = Pattern.compile(REGEX);
        for (Object data : sampleData) {
            List<String> indices = new ArrayList<>();
            Matcher matcher = pattern.matcher(data.toString());

            while (matcher.find()) {
                String index = matcher.group(1);
                indices.add(index);
            }
            if (indices.size() > 0)
                System.out.println("Indices: " + indices);
        }
    }
}

	