code: function( string ) {
      var negated, matches, patterns = this.patterns, i = patterns.length;
      while ( i-- ) {
        negated = patterns[ i ].negated;
        matches = patterns[ i ].matcher( string );
        if ( negated !== matches ) {
          return matches;
        }
      }
      return false;
    }
docs: We start from the end negated matches 0      0     keep going 0      1     return true 1      0     return false 1      1     keep going