anchor.diff:  * `(?=...)` is a lookahead, it will match if its content matches the text
               following the current position
   * `(?!...)` is a negative lookahead, it will match if its content does
  -            not matches the text following the current position
  +            not match the text following the current position
   * `(?<=...)` is a lookbehind, it will match if its content matches
                the text preceding the current position
   * `(?<!...)` is a negative lookbehind, it will match if its content does
  -            not matches the text preceding the current position
  +             not match the text preceding the current position
   
   For performance reasons lookaround contents cannot be an arbitrary
   regular expression, it must be sequence of literals, character classes
  
positive.code: * `\n` matches the line feed character.
  * `\r` matches the carriage return character.
  * `\t` matches the tabulation character.
  * `\v` matches the the vertical tabulation character.
  
  Character classes
  -----------------
  
negative.code: ------
  
  Regex atoms can be grouped using `(` and `)` or `(?:` and `)`. If `(` is
  used, the group will be a capturing group, which means the positions from
  the subject strings that matched between `(` and `)` will be recorded.
  
  Capture groups are numbered starting at 1 (0 is a special capture group
  