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","."]
code: def __init__(
      self,
      string: str,
      re_matches: list[tuple[Pattern[str], RegexMatch[str]]],
      group_names_to_nodes: dict[str, str],
      unescape_funcs: dict[str, Callable[[str], str]],
  ):
      self.string = string
      self._re_matches = re_matches
      self._group_names_to_nodes = group_names_to_nodes
      self._unescape_funcs = unescape_funcs
  
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 1 to create a new Match object  with example: obj = Match(string, re_matches, group_names_to_nodes, unescape_funcs)