java.util.regex.Pattern#asMatchPredicate ( )源码实例Demo

下面列出了java.util.regex.Pattern#asMatchPredicate ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: Java-11-Cookbook-Second-Edition   文件: NewApi.java
private static void asMatchPredicate(){
    Pattern pattern =  Pattern.compile("^a.*z$");
    Predicate<String> predicate = pattern.asMatchPredicate();
    System.out.println(predicate.test("abbbbz"));  // true
    System.out.println(predicate.test("babbbz"));  // false
    System.out.println(predicate.test("abbbbx"));  // false
}
 
源代码2 项目: tutorials   文件: PatternJava11UnitTest.java
@Test
public void givenPreCompiledPattern_whenCallAsMatchPredicate_thenReturnMatchPredicateToMatchesPattern() {
    List<String> namesToValidate = Arrays.asList("Fabio Silva", "Fabio Luis Silva");
    Pattern firstLastNamePreCompiledPattern = Pattern.compile("[a-zA-Z]{3,} [a-zA-Z]{3,}");

    Predicate<String> patternAsMatchPredicate = firstLastNamePreCompiledPattern.asMatchPredicate();
    List<String> validatedNames = namesToValidate.stream()
            .filter(patternAsMatchPredicate)
            .collect(Collectors.toList());

    assertTrue(validatedNames.contains("Fabio Silva"));
    assertFalse(validatedNames.contains("Fabio Luis Silva"));
}