class_docstr: Accept strings that match a given regular expression.
  
  Args:
      default (string, optional) :
          A default value for attributes created from this property to have.
  
      help (str or None, optional) :
          A documentation string for this property. It will be automatically
          used by the :ref:`bokeh.sphinxext.bokeh_prop` extension when
          generating Spinx documentation. (default: None)
  
  Example:
  
      .. code-block:: python
  
          >>> class RegexModel(HasProps):
          ...     prop = Regex("foo[0-9]+bar")
          ...
  
          >>> m = RegexModel()
  
          >>> m.prop = "foo123bar"
  
          >>> m.prop = "foo"      # ValueError !!
  
          >>> m.prop = [1, 2, 3]  # ValueError !!
code: def validate(self, value: Any, detail: bool = True) -> None:
      super().validate(value, detail)
  
      if self.regex.match(value):
          return
  
      msg = (
          ""
          if not detail
          else f"expected a string matching {self.regex.pattern!r} pattern, got {value!r}"
      )
      raise ValueError(msg)
  
file_path: bokeh/src/bokeh/core/property/string.py
imports: from __future__ import annotations
  import logging
  import re
  from typing import Any
  from .bases import Init
  from .primitive import String
  from .singletons import Undefined
label_desc: Use image node_id 3 for calling the Regex obj's underlying member method code with example usage: obj.validate(value, detail) without return types