import java.util.Arrays;
import java.util.regex.Pattern;
class Main {
public static void main
(String[] args
) { String[] words
= { "card",
"creditcard",
"debitcard" };
"need to discard pin",
"need to 324card pin",
"need to put out your card!",
};
.forEach(testInput -> {
System.
out.
printf("%-40s = %s\n", testInput, findWords
(testInput, words
)); });
}
public static boolean findWords
(String inputStr,
String[] words
) { .anyMatch(word -> Pattern
.compile("(?<![A-Za-z-])" + Pattern.quote(word) + "(?![A-Za-z-])")
.matcher(inputStr)
.find());
}
}
aW1wb3J0IGphdmEudXRpbC5BcnJheXM7CmltcG9ydCBqYXZhLnV0aWwucmVnZXguUGF0dGVybjsKCmNsYXNzIE1haW4gewoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgewoJCVN0cmluZ1tdIHdvcmRzID0geyAiY2FyZCIsICJjcmVkaXRjYXJkIiwgImRlYml0Y2FyZCIgfTsKCQkKCQlTdHJpbmdbXSB0ZXN0SW5wdXRzID0gewoJCQkibmVlZCB0byBkaXNjYXJkIHBpbiIsCgkJCSJuZWVkIHRvIDMyNGNhcmQgcGluIiwKCQkJIm5lZWQgdG8gcHV0IG91dCB5b3VyIGNhcmQhIiwKCQl9OwoJCUFycmF5cy5zdHJlYW0odGVzdElucHV0cykKCQkJLmZvckVhY2godGVzdElucHV0IC0+IHsKCQkJCVN5c3RlbS5vdXQucHJpbnRmKCIlLTQwcyA9ICVzXG4iLCB0ZXN0SW5wdXQsIGZpbmRXb3Jkcyh0ZXN0SW5wdXQsIHdvcmRzKSk7CgkJCX0pOwoKCQkKCQkKCX0KCQoJcHVibGljIHN0YXRpYyBib29sZWFuIGZpbmRXb3JkcyhTdHJpbmcgaW5wdXRTdHIsIFN0cmluZ1tdIHdvcmRzKSB7CgkJcmV0dXJuIEFycmF5cy5zdHJlYW0od29yZHMpCgkJICAgIC5hbnlNYXRjaCh3b3JkIC0+IFBhdHRlcm4KCQkgICAgICAgIC5jb21waWxlKCIoPzwhW0EtWmEtei1dKSIgKyBQYXR0ZXJuLnF1b3RlKHdvcmQpICsgIig/IVtBLVphLXotXSkiKQoJCSAgICAgICAgLm1hdGNoZXIoaW5wdXRTdHIpCgkJICAgICAgICAuZmluZCgpKTsKCX0KfQ==