lookahead pattern lookahead not pattern
You can use
lookahead to match a pattern without consuming it:
This program outputs "Mary had a tiny little lamb". Without
lookahead, it would output "Mary had a tiny lamb".
lookahead must be applied only to part of the pattern of a find rule. If the entire rule were lookahead, no characters would be consumed and so the rule would be matched an infinite number of times. In the program above, matching the space before "little" ensures that this condition is met.
You can also match any pattern which is not followed by a certain pattern using
lookahead not. This program changes the size of all the animals except the lamb.