code: def _replace_expression_column_name(
      column_name_map, column_id_map, running_cidx, match_obj
  ):
      """Replace column names in the expression syntax with a column ID,
      filling the column_name_map and column_id_map."""
      column_name = match_obj.group(1)
  
      # first, replace escaped single quotes inside the column name, assuming that
      # they are escaping a single apostrophe. Because Python treats backslashes
      # as escapes, users need to write two backslashes in order to properly
      # escape single quotes - i.e. "here\\'s an apostrophe".
      if column_name not in column_name_map:
          column_id = "COLUMN{0}".format(running_cidx[0])
          column_name_map[column_name] = column_id
          column_id_map[column_id] = column_name
  
      running_cidx[0] += 1
  
      return column_name_map[column_name]
  
file_path: perspective/python/perspective/perspective/table/_utils.py
imports: import re
  from datetime import date, datetime
  from functools import partial
  from .libpsppy import t_dtype
label_desc: Use image node_id 6 for calling a global function with example usage: _replace_expression_column_name(column_name_map, column_id_map, running_cidx, match_obj) and returns: column_name_map