docs: def GetBestMatch(target, matchList):
    """
    Finds the elements of matchList which best match the target string.
  
    Note that this searches substrings so "abc" will have a 100% match in
    both "this is the abc", "abcde" and "abc".
  
    The return from this function is a list of potention matches which shared
    the same highest match score. If any exact match is found (1.0 score and
    equal size string) this will be given alone.
  
    Parameters
    ----------
      target : string
        Target string to match.
  
      matchList : list
        List of strings to match target against.
  
    Returns
    ----------
      list
        A list of potention matches which share the same highest match score.
        If any exact match is found (1.0 score and equal size string) this
        will be given alone.
    """
    bestMatchList = []
  
    if len(matchList) > 0:
      ratioMatch = []
      for item in matchList:
        ratioMatch.append(GetBestStringMatchValue(target, item))
  
      maxRatio = max(ratioMatch)
      if maxRatio > 0.8:
        matchIndexList = [i for i, j in enumerate(ratioMatch) if j == maxRatio]
  
        for index in matchIndexList:
          if maxRatio == 1 and len(matchList[index]) == len(target):
            return [matchList[index], ]
          else:
            bestMatchList.append(matchList[index])
  
    return bestMatchList