Emacs also has conventional nonincremental search commands, which require you to type the entire search string before searching begins.
To do a nonincremental search, first type C-s RET. This enters the minibuffer to read the search string; terminate the string with RET, and then the search takes place. If the string is not found, the search command gets an error.
The way C-s RET works is that the C-s invokes incremental search, which is specially programmed to invoke nonincremental search if the argument you give it is empty. (Such an empty argument would otherwise be useless.) C-r RET also works this way.
However, nonincremental searches performed using C-s RET do
search-forward right away. The first thing done is to see
if the next character is C-w, which requests a word search.
Forward and backward nonincremental searches are implemented by the
commands may be bound to keys in the usual manner. The feature that you
can get to them via the incremental search commands exists for
historical reasons, and to avoid the need to find suitable key sequences