Регулярное выражение для совпадения яиц, бекона или сыра:
(eggs|bacon|cheese)
Вам нужно определить, когда строки не совпадают, поэтому вы можете отменить условие примерно так:
if (!line.matches("(eggs|bacon|cheese)") {
// Do something
}
Это соответствует всей строке.Если вы хотите указать, содержит ли строка какое-либо из этих слов, вам нужно будет найти другое совпадение - либо с помощью .*
, чтобы сопоставить остальную часть строки, либо с помощью Pattern
и Matcher
.
Я бы использовал: \b
, чтобы отметить границы слов, чтобы убедиться, что вы соответствуете только cheese
и не соответствует cheesecake
.
Pattern pattern = Pattern.compile("\\b(eggs|bacon|cheese)\\b");
Matcher matcher = pattern.matcher(line);
if (!matcher.find()) {
// Do something
}
В качестве альтернативы:
if (!line.matches(".*\\b(eggs|bacon|cheese)\\b.*")) {
// Do something
}
Вы должны удвоить обратную косую черту, чтобы избежать их внутри строки.