.. _envoy_v3_api_file_xds/type/matcher/v3/regex.proto: Regex matcher (proto) ===================== .. _envoy_v3_api_msg_.xds.type.matcher.v3.RegexMatcher: .xds.type.matcher.v3.RegexMatcher --------------------------------- `[.xds.type.matcher.v3.RegexMatcher proto] `_ A regex matcher designed for safety when used with untrusted input. .. code-block:: json :force: { "google_re2": {...}, "regex": ... } .. _envoy_v3_api_field_.xds.type.matcher.v3.RegexMatcher.google_re2: google_re2 (:ref:`.xds.type.matcher.v3.RegexMatcher.GoogleRE2 `, *REQUIRED*) Google's RE2 regex engine. .. _envoy_v3_api_field_.xds.type.matcher.v3.RegexMatcher.regex: regex (`string `_, *REQUIRED*) The regex match string. The string must be supported by the configured engine. .. _envoy_v3_api_msg_.xds.type.matcher.v3.RegexMatcher.GoogleRE2: .xds.type.matcher.v3.RegexMatcher.GoogleRE2 ------------------------------------------- `[.xds.type.matcher.v3.RegexMatcher.GoogleRE2 proto] `_ Google's `RE2 `_ regex engine. The regex string must adhere to the documented `syntax `_. The engine is designed to complete execution in linear time as well as limit the amount of memory used. Envoy supports program size checking via runtime. The runtime keys `re2.max_program_size.error_level` and `re2.max_program_size.warn_level` can be set to integers as the maximum program size or complexity that a compiled regex can have before an exception is thrown or a warning is logged, respectively. `re2.max_program_size.error_level` defaults to 100, and `re2.max_program_size.warn_level` has no default if unset (will not check/log a warning). Envoy emits two stats for tracking the program size of regexes: the histogram `re2.program_size`, which records the program size, and the counter `re2.exceeded_warn_level`, which is incremented each time the program size exceeds the warn level threshold.