Ответы: **нет, да**.
Java
он ничего не найдёт, так как исключающие квадратные скобки в `Java[^...]` означают "один символ, кроме указанных". А после "Java"
-- конец строки, символов больше нет.
```js
//+ run
alert( "Java".match(/Java[^script]/) ); // нет совпадений
```