REGEXP_FILE
  RegExpPatternImpl: <(([hH][tT]{2}[pP]|[fF][tT][pP]):\/\/)?[a-zA-Z0-9\-]+(?:\.[a-zA-Z0-9\-]+)*>
    RegExpBranchImpl: <(([hH][tT]{2}[pP]|[fF][tT][pP]):\/\/)?[a-zA-Z0-9\-]+(?:\.[a-zA-Z0-9\-]+)*>
      RegExpClosureImpl: <(([hH][tT]{2}[pP]|[fF][tT][pP]):\/\/)?>
        RegExpGroupImpl: <(([hH][tT]{2}[pP]|[fF][tT][pP]):\/\/)>
          PsiElement(GROUP_BEGIN)('(')
          RegExpPatternImpl: <([hH][tT]{2}[pP]|[fF][tT][pP]):\/\/>
            RegExpBranchImpl: <([hH][tT]{2}[pP]|[fF][tT][pP]):\/\/>
              RegExpGroupImpl: <([hH][tT]{2}[pP]|[fF][tT][pP])>
                PsiElement(GROUP_BEGIN)('(')
                RegExpPatternImpl: <[hH][tT]{2}[pP]|[fF][tT][pP]>
                  RegExpBranchImpl: <[hH][tT]{2}[pP]>
                    RegExpClassImpl: <[hH]>
                      PsiElement(CLASS_BEGIN)('[')
                      RegExpCharImpl: <h>
                        PsiElement(CHARACTER)('h')
                      RegExpCharImpl: <H>
                        PsiElement(CHARACTER)('H')
                      PsiElement(CLASS_END)(']')
                    RegExpClosureImpl: <[tT]{2}>
                      RegExpClassImpl: <[tT]>
                        PsiElement(CLASS_BEGIN)('[')
                        RegExpCharImpl: <t>
                          PsiElement(CHARACTER)('t')
                        RegExpCharImpl: <T>
                          PsiElement(CHARACTER)('T')
                        PsiElement(CLASS_END)(']')
                      RegExpQuantifierImpl: <{2}>
                        PsiElement(LBRACE)('{')
                        RegExpNumberImpl: <2>
                          PsiElement(NUMBER)('2')
                        PsiElement(RBRACE)('}')
                    RegExpClassImpl: <[pP]>
                      PsiElement(CLASS_BEGIN)('[')
                      RegExpCharImpl: <p>
                        PsiElement(CHARACTER)('p')
                      RegExpCharImpl: <P>
                        PsiElement(CHARACTER)('P')
                      PsiElement(CLASS_END)(']')
                  PsiElement(UNION)('|')
                  RegExpBranchImpl: <[fF][tT][pP]>
                    RegExpClassImpl: <[fF]>
                      PsiElement(CLASS_BEGIN)('[')
                      RegExpCharImpl: <f>
                        PsiElement(CHARACTER)('f')
                      RegExpCharImpl: <F>
                        PsiElement(CHARACTER)('F')
                      PsiElement(CLASS_END)(']')
                    RegExpClassImpl: <[tT]>
                      PsiElement(CLASS_BEGIN)('[')
                      RegExpCharImpl: <t>
                        PsiElement(CHARACTER)('t')
                      RegExpCharImpl: <T>
                        PsiElement(CHARACTER)('T')
                      PsiElement(CLASS_END)(']')
                    RegExpClassImpl: <[pP]>
                      PsiElement(CLASS_BEGIN)('[')
                      RegExpCharImpl: <p>
                        PsiElement(CHARACTER)('p')
                      RegExpCharImpl: <P>
                        PsiElement(CHARACTER)('P')
                      PsiElement(CLASS_END)(']')
                PsiElement(GROUP_END)(')')
              RegExpCharImpl: <:>
                PsiElement(CHARACTER)(':')
              RegExpCharImpl: <\/>
                PsiElement(REDUNDANT_ESCAPE)('\/')
              RegExpCharImpl: <\/>
                PsiElement(REDUNDANT_ESCAPE)('\/')
          PsiElement(GROUP_END)(')')
        RegExpQuantifierImpl: <?>
          PsiElement(QUEST)('?')
      RegExpClosureImpl: <[a-zA-Z0-9\-]+>
        RegExpClassImpl: <[a-zA-Z0-9\-]>
          PsiElement(CLASS_BEGIN)('[')
          RegExpCharRangeImpl: <a-z>
            RegExpCharImpl: <a>
              PsiElement(CHARACTER)('a')
            PsiElement(MINUS)('-')
            RegExpCharImpl: <z>
              PsiElement(CHARACTER)('z')
          RegExpCharRangeImpl: <A-Z>
            RegExpCharImpl: <A>
              PsiElement(CHARACTER)('A')
            PsiElement(MINUS)('-')
            RegExpCharImpl: <Z>
              PsiElement(CHARACTER)('Z')
          RegExpCharRangeImpl: <0-9>
            RegExpCharImpl: <0>
              PsiElement(CHARACTER)('0')
            PsiElement(MINUS)('-')
            RegExpCharImpl: <9>
              PsiElement(CHARACTER)('9')
          RegExpCharImpl: <\->
            PsiElement(ESC_CHARACTER)('\-')
          PsiElement(CLASS_END)(']')
        RegExpQuantifierImpl: <+>
          PsiElement(PLUS)('+')
      RegExpClosureImpl: <(?:\.[a-zA-Z0-9\-]+)*>
        RegExpGroupImpl: <(?:\.[a-zA-Z0-9\-]+)>
          PsiElement(NON_CAPT_GROUP)('(?:')
          RegExpPatternImpl: <\.[a-zA-Z0-9\-]+>
            RegExpBranchImpl: <\.[a-zA-Z0-9\-]+>
              RegExpCharImpl: <\.>
                PsiElement(ESC_CHARACTER)('\.')
              RegExpClosureImpl: <[a-zA-Z0-9\-]+>
                RegExpClassImpl: <[a-zA-Z0-9\-]>
                  PsiElement(CLASS_BEGIN)('[')
                  RegExpCharRangeImpl: <a-z>
                    RegExpCharImpl: <a>
                      PsiElement(CHARACTER)('a')
                    PsiElement(MINUS)('-')
                    RegExpCharImpl: <z>
                      PsiElement(CHARACTER)('z')
                  RegExpCharRangeImpl: <A-Z>
                    RegExpCharImpl: <A>
                      PsiElement(CHARACTER)('A')
                    PsiElement(MINUS)('-')
                    RegExpCharImpl: <Z>
                      PsiElement(CHARACTER)('Z')
                  RegExpCharRangeImpl: <0-9>
                    RegExpCharImpl: <0>
                      PsiElement(CHARACTER)('0')
                    PsiElement(MINUS)('-')
                    RegExpCharImpl: <9>
                      PsiElement(CHARACTER)('9')
                  RegExpCharImpl: <\->
                    PsiElement(ESC_CHARACTER)('\-')
                  PsiElement(CLASS_END)(']')
                RegExpQuantifierImpl: <+>
                  PsiElement(PLUS)('+')
          PsiElement(GROUP_END)(')')
        RegExpQuantifierImpl: <*>
          PsiElement(STAR)('*')