class_docstr: :param string: The input string.
  :param re_matches: List of (compiled_re_pattern, re_match) tuples.
  :param group_names_to_nodes: Dictionary mapping all the re group names to the matching Node instances.
class_docstr_tok: [":","param","string",":","The","input","string",".",":","param","re_matches",":","List","of","(","compiled_re_pattern",",","re_match",")","tuples",".",":","param","group_names_to_nodes",":","Dictionary","mapping","all","the","re","group","names","to","the","matching","Node","instances","."]
docstr: Returns list of (Node, string_value) tuples.
docstr_tok: ["Returns","list","of","(","Node",",","string_value",")","tuples","."]
code: def _nodes_to_values(self) -> list[tuple[str, str, tuple[int, int]]]:
      """
      Returns list of (Node, string_value) tuples.
      """
  
      def is_none(sl: tuple[int, int]) -> bool:
          return sl[0] == -1 and sl[1] == -1
  
      def get(sl: tuple[int, int]) -> str:
          return self.string[sl[0] : sl[1]]
  
      return [
          (varname, get(slice), slice)
          for varname, slice in self._nodes_to_regs()
          if not is_none(slice)
      ]
  
imports: from __future__ import annotations
  import re
  from typing import Callable, Dict, Iterable, Iterator, Pattern
  from typing import Match
  from .regex_parser import AnyNode, Lookahead, Node, NodeSequence, Regex, Repeat, Variable, parse_regex, tokenize_regex
label_desc: Use image node_id 3 for calling the Match obj's underlying member method code with example usage: obj._nodes_to_values() and returns: unknown, unknown, self