anchor.diff:  //       default,  but  some  of them use Unicode properties if PCRE_UCP is set.
   //       You can use \Q...\E inside a character class.
   character_class
  - : '[' {insideCharacterClass=true;} '^' CharacterClassEnd Hyphen cc_atom+ ']' {insideCharacterClass=false;}
  - | '[' {insideCharacterClass=true;} '^' CharacterClassEnd cc_atom* ']' {insideCharacterClass=false;}
  - | '[' {insideCharacterClass=true;} '^' cc_atom+ ']' {insideCharacterClass=false;}
  - | '[' {insideCharacterClass=true;} CharacterClassEnd Hyphen cc_atom+ ']' {insideCharacterClass=false;}
  - | '[' {insideCharacterClass=true;} CharacterClassEnd cc_atom* ']' {insideCharacterClass=false;}
  - | '[' {insideCharacterClass=true;} cc_atom+ ']' {insideCharacterClass=false;}
  + : '[' '^' CharacterClassEnd Hyphen cc_atom+ ']'
  + | '[' '^' CharacterClassEnd cc_atom* ']'
  + | '[' '^' cc_atom+ ']'
  + | '[' CharacterClassEnd Hyphen cc_atom+ ']'
  + | '[' CharacterClassEnd cc_atom* ']'
  + | '[' cc_atom+ ']'
    ;
   
   // BACKREFERENCES
  
positive.code: fragment NonAlphaNumeric         : ~[a-zA-Z0-9];
  fragment HexDigit                : [0-9a-fA-F];
  fragment ASCII                   : [\u0000-\u007F];
  
negative.code:  *
   * Project      : PCRE Parser, an ANTLR 4 grammar for PCRE
   * Developed by : Bart Kiers, bart@big-o.nl
   */
  grammar PCRE;
  
  // Most single line comments above the lexer- and  parser rules 
  // are copied from the official PCRE man pages (last updated: 
  