Мне нужно построить регулярное выражение для всех непустых последовательностей букв, кроме: file, for, from.
Таким образом, я должен в конечном итоге получить все значения из моего ввода текста, исключая 3 вышеупомянутых слова.
Это правильный способ изобразить это?
^(?:(?!file|for|from).)*$
Также я пытался использовать этот шаблон регулярных выражений в моей Java-программе и предполагал, что он должен работать. Но это не так.
Мой пример кода выглядит следующим образом:
Pattern p = Pattern.compile("^(?:(?!file|for|from).)*$");
// Split input with the pattern
String[] result =
p.split("file is not there from for this time for this test");
for (int i=0; i<result.length; i++)
System.out.println(result[i]);
Есть ли ошибка в моем регулярном выражении или какая-то ошибка в том, как я использую регулярное выражение в Java?
Пожалуйста, сообщите.
Спасибо.