docs: async def _parse_lines(lines, regex):
      """Parse the lines using the given regular expression.
  
      If a line can't be parsed it is logged and skipped in the output.
      """
      results = []
      if inspect.iscoroutinefunction(lines):
          lines = await lines
      for line in lines:
          if line:
              match = regex.search(line)
              if not match:
                  _LOGGER.debug("Could not parse row: %s", line)
                  continue
              results.append(match.groupdict())
      return results