code: def zero_or_more(e, delimiter=None):
      
      if delimiter is None:
          delimiter = lambda s, grm, pos: (s, Ignore, (pos, pos))
      def match_zero_or_more(s, grm=None, pos=0):
          start = pos
          try:
              s, obj, span = e(s, grm, pos)
              pos = span[1]
              data = [] if obj is Ignore else [obj]
          except PegreError:
              return PegreResult(s, [], (pos, pos))
          try:
              while True:
                  s, obj, span = delimiter(s, grm, pos)
                  pos = span[1]
                  if obj is not Ignore:
                      data.append(obj)
                  s, obj, span = e(s, grm, pos)
                  pos = span[1]
                  if obj is not Ignore:
                      data.append(obj)
          except PegreError:
              pass
          return PegreResult(s, data, (start, pos))
      return match_zero_or_more
docs: Create a PEG function to match zero or more expressions.
  
      Args:
          e: the expression to match
          delimiter: an optional expression to match between the
              primary *e* matches.