Reqular выражение не работает для обратной обработки

Я пробовал следующее Если входной текст содержит ключевое слово "test", то на выходе будет "NOT Match".

    String line = "placed test here";
    String pattern = "^((?!test).)*";
    Matcher m = r.matcher(line);
    if (m.find( )) {
        System.out.println("MATCH");
    } else {
        System.out.println("NO MATCH");
    }

2 ответа

Решение

Вы пропустили якорь $, используйте это регулярное выражение:

^((?!test).)*$

RegEx Demo

Вы можете использовать это регулярное выражение:

^(?!.*test).*
Другие вопросы по тегам