nodes: 0, module; 1, function_definition; 2, function_name:match_any_string; 3, parameters; 4, block; 5, identifier:self; 6, identifier:strings; 7, default_parameter; 8, default_parameter; 9, expression_statement; 10, if_statement; 11, expression_statement; 12, expression_statement; 13, expression_statement; 14, for_statement; 15, return_statement; 16, identifier:word; 17, integer:0; 18, identifier:offset; 19, integer:0; 20, comment:"""Attempts to match each string in strings in order.
          Will return the string that matches or an empty string if no match.
  
          If word arg >= 1 then only match if string is followed by a whitespace
          which is much higher performance.
  
          If word is 0 then you should sort the strings argument yourself by
          length.
          """; 21, identifier:word; 22, block; 23, assignment; 24, assignment; 25, assignment; 26, identifier:string; 27, identifier:strings; 28, block; 29, string; 30, expression_statement; 31, return_statement; 32, identifier:current; 33, string; 34, identifier:currentlength; 35, integer:0; 36, identifier:length; 37, integer:0; 38, expression_statement; 39, if_statement; 40, if_statement; 41, assignment; 42, conditional_expression:current if current in strings else ''; 43, assignment; 44, comparison_operator:length != currentlength; 45, block; 46, comparison_operator:string == current; 47, block; 48, identifier:current; 49, call; 50, identifier:current; 51, comparison_operator:current in strings; 52, string; 53, identifier:length; 54, call; 55, identifier:length; 56, identifier:currentlength; 57, expression_statement; 58, identifier:string; 59, identifier:current; 60, return_statement; 61, attribute; 62, argument_list; 63, identifier:current; 64, identifier:strings; 65, identifier:len; 66, argument_list; 67, assignment; 68, identifier:string; 69, identifier:self; 70, identifier:get_string; 71, identifier:offset; 72, identifier:string; 73, identifier:current; 74, call; 75, attribute; 76, argument_list; 77, identifier:self; 78, identifier:get_length; 79, identifier:length; 80, identifier:offset
code: def match_any_string(self, strings, word=0, offset=0):
          """Attempts to match each string in strings in order.
          Will return the string that matches or an empty string if no match.
  
          If word arg >= 1 then only match if string is followed by a whitespace
          which is much higher performance.
  
          If word is 0 then you should sort the strings argument yourself by
          length.
          """
          if word:
              current = self.get_string(offset)
              return current if current in strings else ''
          current = ''
  
          currentlength = 0
          length = 0
          for string in strings:
              length = len(string)
              if length != currentlength:
                  current = self.get_length(length, offset)
              if string == current:
                  return string
          return ''