Я знаю, что этот вопрос задавался ранее, однако решения, которые я нашел, не работают для меня.Я пишу простую программу, в которой один из методов принимает пользовательский ввод и проверяет, содержит ли он какие-либо символы, кроме букв ( например, , число или специальные символы).Мое первое решение выглядит так:
public boolean charFinder(String inputString) {
Pattern p = Pattern.compile("\\W", Pattern.CASE_INSENSITIVE);
Pattern p2 = Pattern.compile("0-9", Pattern.CASE_INSENSITIVE);
Matcher m = p.matcher(inputString);
Matcher m2 = p2.matcher(inputString);
return m.find() || m2.find();
}
И оно прекрасно работает, но я хочу сделать его более элегантным.Итак, я попробовал это:
public boolean charFinder(String inputString) {
Pattern p = Pattern.compile("\\W | \\d", Pattern.CASE_INSENSITIVE);
Matcher m = p.matcher(inputString);
return m.find();
}
И это не работает.Правильно ли я слил регулярные выражения?