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
); }
}
}
aW1wb3J0IGphdmEudXRpbC5BcnJheUxpc3Q7CmltcG9ydCBqYXZhLnV0aWwuQXJyYXlzOwppbXBvcnQgamF2YS51dGlsLkxpc3Q7CmltcG9ydCBqYXZhLnV0aWwucmVnZXguTWF0Y2hlcjsKaW1wb3J0IGphdmEudXRpbC5yZWdleC5QYXR0ZXJuOwoKY2xhc3MgSWRlb25lCnsKICAgIHByaXZhdGUgc3RhdGljIFN0cmluZyBSRUdFWCA9ICJcXFsoPyFcXGQrXSkoW15cXF1cXFtdKildIjsKICAgIHByaXZhdGUgc3RhdGljIExpc3Qgc2FtcGxlRGF0YSA9IEFycmF5cy5hc0xpc3QoInRlc3QgZnJvbSBbYS5iLnYxLjIuMC43MS0wXSB0byBbYS5iLnYxLjIuMC43My0wXSIsCiAgICAgICAgICAgICJyZXF1ZXN0c1s0NTE4MF0sIGluZGljZXNbbW92aWVzXSIpOwoKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHsKICAgICAgICBQYXR0ZXJuIHBhdHRlcm4gPSBQYXR0ZXJuLmNvbXBpbGUoUkVHRVgpOwogICAgICAgIGZvciAoT2JqZWN0IGRhdGEgOiBzYW1wbGVEYXRhKSB7CiAgICAgICAgICAgIExpc3Q8U3RyaW5nPiBpbmRpY2VzID0gbmV3IEFycmF5TGlzdDw+KCk7CiAgICAgICAgICAgIE1hdGNoZXIgbWF0Y2hlciA9IHBhdHRlcm4ubWF0Y2hlcihkYXRhLnRvU3RyaW5nKCkpOwoKICAgICAgICAgICAgd2hpbGUgKG1hdGNoZXIuZmluZCgpKSB7CiAgICAgICAgICAgICAgICBTdHJpbmcgaW5kZXggPSBtYXRjaGVyLmdyb3VwKDEpOwogICAgICAgICAgICAgICAgaW5kaWNlcy5hZGQoaW5kZXgpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChpbmRpY2VzLnNpemUoKSA+IDApCiAgICAgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIkluZGljZXM6ICIgKyBpbmRpY2VzKTsKICAgICAgICB9CiAgICB9Cn0KCgk=