Lookbehind assertions
Positive and negative lookbehind assertions are zero-width assertions that allow for certain regex-based checks to be performed on the text that precedes (or is on the left-hand side) of the current position. The regex engine holds on to the current position after evaluating the lookbehind pattern. We can chain multiple lookbehind expressions one after another, but the regex engine does not move the control after checking all the lookbehind assertions. Lookbehind assertions can also help solve some complex problems that are not possible or are very difficult to solve without lookbehind support. Up to Java version 8, the Java regular expression engine didn't allow the use of variable-length quantifiers such as *
and +
in lookbehind patterns. With Java 9, the Java regex engine now allows the use of these quantifiers in lookbehind assertions.
There are two types of lookbehind assertions: positive lookbehind and negative lookbehind.
Positive lookbehind
A positive lookbehind...