Đơn giản và điều này hoạt động:
String badStrRegex = "\\WBill Joseph\\W?";
Pattern pattern = Pattern.compile(badStrRegex);
Matcher m = pattern.matcher(testStr); //testStr is your string under test
boolean isBad = m.find();
Nó hoạt động !! Đã kiểm tra với tất cả đầu vào của bạn.