-
Notifications
You must be signed in to change notification settings - Fork 81
/
AsMatchPredicate.java
34 lines (26 loc) · 992 Bytes
/
AsMatchPredicate.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package dev.nipafx.demo.java11.api.regex;
import java.util.List;
import java.util.regex.Pattern;
public class AsMatchPredicate {
public static void main(String[] args) {
var nonWordCharacter = Pattern.compile("\\W");
var containsNonWordCharacter = Pattern.compile("\\w*\\W\\w*");
var bandNames = List.of("Metallica", "Motörhead");
System.out.println("FIND 'containsNonWordCharacter'");
bandNames.stream()
.filter(containsNonWordCharacter.asPredicate())
.forEach(System.out::println);
System.out.println("MATCH 'containsNonWordCharacter'");
bandNames.stream()
.filter(containsNonWordCharacter.asMatchPredicate())
.forEach(System.out::println);
System.out.println("FIND 'nonWordCharacter'");
bandNames.stream()
.filter(nonWordCharacter.asPredicate())
.forEach(System.out::println);
System.out.println("MATCH 'nonWordCharacter'");
bandNames.stream()
.filter(nonWordCharacter.asMatchPredicate())
.forEach(System.out::println);
}
}