My code looks like this:
List filterList(List list, String regex) {
List result = new ArrayList();
In addition to the answer from Konstantin: Java 8 added Predicate support to the Pattern class via asPredicate, which calls Matcher.find() internally:
Pattern pattern = Pattern.compile("...");
List matching = list.stream()
.filter(pattern.asPredicate())
.collect(Collectors.toList());
Pretty awesome!