{
  "category": "Text functions",
  "display_name": "REGEXTEST",
  "entry_kind": "built_in_function",
  "eval_api": {
    "method": "POST",
    "url": "https://handbook.dnacalc.com/api/eval"
  },
  "function_id": "FUNC.REGEXTEST",
  "implementation_state": {
    "answer_bank": {
      "excel_builds": [
        "20527"
      ],
      "larger_numeric": 0,
      "last_bit": 0,
      "matched": 6,
      "other_mismatch": 0,
      "refused": 0,
      "rows": 6,
      "unread": 0,
      "worst_ulp": 0
    },
    "detail": "Recorded: 6 in the answer bank and 6 workbook cells.",
    "dnacalc_commit": "9e1884369a678158dd82d3d74188daf986995e87",
    "in_catalogue": true,
    "state": "matches",
    "state_label": "Matches every recorded Excel answer",
    "summary": "Matches all 12 recorded answers",
    "workbook_corpus": {
      "cells": 6,
      "matched": 6
    }
  },
  "implementations": [
    {
      "commit": "9e1884369a678158dd82d3d74188daf986995e87",
      "flavour": "excel-compatibility-candidate",
      "language": "Rust",
      "name": "CalcFunc",
      "own_code": [
        "https://github.com/DnaCalc/DnaCalc/blob/9e1884369a678158dd82d3d74188daf986995e87/crates/calc-func/src/catalogue/text_format.rs#L935-L935",
        "https://github.com/DnaCalc/DnaCalc/blob/9e1884369a678158dd82d3d74188daf986995e87/crates/calc-func/src/catalogue/text_format.rs#L447-L453"
      ],
      "repository": "https://github.com/DnaCalc/DnaCalc",
      "shared_code": [
        "catalogue/text_format::read_value",
        "catalogue/text_format::value",
        "catalogue/text_format::profile",
        "catalogue/text_format::rendered",
        "catalogue/text_format::text",
        "catalogue/text_format::given",
        "catalogue/text_format::binary_flag",
        "catalogue/text_format::case_sensitive",
        "catalogue/text_format::regex",
        "decimal::low32",
        "decimal::Natural::zero",
        "decimal::Natural::from_u64",
        "decimal::Natural::pow10",
        "decimal::Natural::normalize",
        "decimal::Natural::is_zero",
        "decimal::Natural::mul_add_small",
        "decimal::Natural::times_pow10",
        "decimal::Natural::times_pow5",
        "decimal::Natural::times_pow2",
        "decimal::ExactDecimal::read",
        "decimal::ExactDecimal::binary",
        "format/datetime::has_invalid_exponent",
        "format/datetime::looks_like_datetime_format",
        "format/datetime::without_subseconds",
        "format/datetime::render_with_datetime_tokens",
        "format/datetime::tokenize_datetime_format",
        "format/datetime::elapsed_token_at",
        "format/datetime::classify_minute_tokens",
        "format/datetime::token_kind",
        "format/datetime::is_time_neighbor",
        "format/datetime::push_literal",
        "format/datetime::render_datetime_literal",
        "format/datetime::format_elapsed",
        "format/datetime::TimeParts::from_serial",
        "format::measured_host",
        "format::currency_literal",
        "format::digits",
        "format::fifteen",
        "format::split",
        "format::grouped",
        "format::general",
        "format::significant",
        "format::sections",
        "format::bracket",
        "format::is_condition",
        "format::is_elapsed",
        "format::condition_holds",
        "format::condition_of",
        "format::strip_tokens",
        "format::choose",
        "format::items",
        "format::numeric",
        "format::literal_text",
        "format::integer_part",
        "format::fraction_part",
        "format::scientific",
        "format::fraction_code",
        "format::FractionCode::render",
        "format::mixed_fraction_under_space_grouping",
        "format::convergent",
        "format::text_declared_date_locale",
        "format::text",
        "format::text_of_text",
        "format/names::month_name",
        "format/names::weekday_name",
        "format/names::locale_names",
        "locale::LocaleId::from_bcp47_language_tag",
        "locale::LocaleId::from_excel_lcid",
        "locale::short_date_order",
        "locale::short_date_pattern",
        "locale::currency_placement",
        "locale::currency_spacing",
        "locale::currency_negative_pattern",
        "locale::format_profile",
        "locale::days_from_civil",
        "locale::civil_from_days",
        "locale::ymd_from_excel_serial",
        "number_text::decimal",
        "number_text::first_precision",
        "number_text::near_tie",
        "number_text::first_rounding",
        "number_text::rounded",
        "number_text::increment",
        "number_text::ascii",
        "ported/date_kernels::days_from_civil",
        "ported/date_kernels::civil_from_days",
        "ported/date_kernels::serial_unbounded_1900",
        "ported/date_kernels::ymd_1900",
        "ported/date_kernels::is_leap",
        "ported/date_kernels::days_in_month",
        "ported/date_kernels::whole_serial",
        "ported/date_kernels::whole",
        "ported/date_kernels::weekday_sunday_one_based",
        "ported/date_kernels::remap_weekday",
        "ported/date_kernels::weekday_of",
        "ported/date_kernels::weekday",
        "ported/text_kernels::text",
        "ported/text_kernels::text_from_str",
        "ported/text_kernels::date_integer_floor",
        "ported/text_kernels::push_singleton_or_original",
        "ported/text_kernels::push_upper",
        "ported/text_kernels::is_well_formed",
        "ported/text_kernels::upper",
        "ported/text_more::is_word_char",
        "ported/text_more::chars_equal",
        "ported/text_more::range_contains",
        "ported/text_more::folded_range",
        "ported/text_more::class_item_matches",
        "ported/text_more::is_word_boundary",
        "ported/text_more::zero_width_atom_matches",
        "ported/text_more::atom_consumes_input",
        "ported/text_more::consuming_atom_matches",
        "ported/text_more::match_atom_once",
        "ported/text_more::match_tokens_from",
        "ported/text_more::find_first_match_from",
        "ported/text_more::find_all_matches",
        "ported/text_more::escaped_literal_char",
        "ported/text_more::parse_escape_atom",
        "ported/text_more::parse_class_piece",
        "ported/text_more::parse_char_class",
        "ported/text_more::parse_regex_pattern",
        "ported/text_more::regex_matches",
        "value_text::measured_host_reader",
        "value_text::measured_space",
        "value_text::read",
        "value_text::number",
        "value_text::decimal",
        "value_text::fraction",
        "value_text::tokens",
        "value_text::month_named",
        "value_text::time_at",
        "value_text::full_year",
        "value_text::valid_day",
        "value_text::this_year",
        "value_text::serial_1900",
        "value_text::date_of",
        "value_text::date_time"
      ],
      "source": "https://github.com/DnaCalc/DnaCalc/blob/9e1884369a678158dd82d3d74188daf986995e87/crates/calc-func/src/catalogue/text_format.rs#L935-L935",
      "state": "matches",
      "suite": null,
      "summary": "Matches all 12 recorded answers"
    }
  ],
  "json_url": "https://handbook.dnacalc.com/api/functions/FUNC.REGEXTEST.json",
  "name": "REGEXTEST",
  "notes": [
    {
      "basis": "12 recorded REGEXTEST readings, in a workbook at compatibility version 2.",
      "documentation": null,
      "evidence": [
        {
          "commit": "ae13ca181bc1d5e3c9e266f26a856ba634707d8e",
          "locator": null,
          "note": "recorded answers pinned",
          "path": "apps/dna-onecalc/tests/acceptance.rs",
          "repository": "DnaCalc"
        },
        {
          "commit": "2d0eddcac86413014643af81d646581d54ba57bc",
          "locator": null,
          "note": "12 recorded readings",
          "path": "crates/calc-func/tests/captures/fn3_questions/REGEXTEST.reading.json",
          "repository": "DnaCalc"
        }
      ],
      "functions": [
        "FUNC.REGEXTEST"
      ],
      "inferred": "The readings cover the characters named here. That \\w follows the Unicode Mn and Pc categories in general, and that ranges fold by simple case folding in general, is inferred.",
      "kind": "quirk",
      "note_id": "FN-REGEXTEST-001",
      "open": [
        "Reversed or very wide caseless ranges, and other newline characters, have not been read."
      ],
      "recorded_on": "2026-11-04",
      "repros": [
        {
          "call": "REGEXTEST(A1, A2, 1)",
          "correct": null,
          "excel": {
            "bits": null,
            "display": "TRUE",
            "kind": "logical"
          },
          "input_route": "cell-value2",
          "inputs": [
            {
              "name": "text",
              "value": {
                "bits": null,
                "display": "É",
                "kind": "text"
              }
            },
            {
              "name": "pattern",
              "value": {
                "bits": null,
                "display": "[é-é]",
                "kind": "text"
              }
            },
            {
              "name": "case_sensitivity",
              "value": {
                "bits": "0x3ff0000000000000",
                "display": "1",
                "kind": "number"
              }
            }
          ],
          "recorded_in": "Excel 16.0.20527.20088, Windows 64-bit, AMD Ryzen 7 4800H, workbook compatibility version 2",
          "source": {
            "commit": "2d0eddcac86413014643af81d646581d54ba57bc",
            "locator": "fn3-regextest-001",
            "note": null,
            "path": "crates/calc-func/tests/captures/fn3_questions/REGEXTEST.reading.json",
            "repository": "DnaCalc"
          }
        },
        {
          "call": "REGEXTEST(A1, A2, 1)",
          "correct": null,
          "excel": {
            "bits": null,
            "display": "TRUE",
            "kind": "logical"
          },
          "input_route": "cell-value2",
          "inputs": [
            {
              "name": "text",
              "value": {
                "bits": null,
                "display": "Σ",
                "kind": "text"
              }
            },
            {
              "name": "pattern",
              "value": {
                "bits": null,
                "display": "[α-ω]",
                "kind": "text"
              }
            },
            {
              "name": "case_sensitivity",
              "value": {
                "bits": "0x3ff0000000000000",
                "display": "1",
                "kind": "number"
              }
            }
          ],
          "recorded_in": "Excel 16.0.20527.20088, Windows 64-bit, AMD Ryzen 7 4800H, workbook compatibility version 2",
          "source": {
            "commit": "2d0eddcac86413014643af81d646581d54ba57bc",
            "locator": "fn3-regextest-003",
            "note": null,
            "path": "crates/calc-func/tests/captures/fn3_questions/REGEXTEST.reading.json",
            "repository": "DnaCalc"
          }
        },
        {
          "call": "REGEXTEST(A1, A2, 0)",
          "correct": null,
          "excel": {
            "bits": null,
            "display": "TRUE",
            "kind": "logical"
          },
          "input_route": "cell-value2",
          "inputs": [
            {
              "name": "text",
              "value": {
                "bits": null,
                "display": "́",
                "kind": "text"
              }
            },
            {
              "name": "pattern",
              "value": {
                "bits": null,
                "display": "\\w",
                "kind": "text"
              }
            },
            {
              "name": "case_sensitivity",
              "value": {
                "bits": "0x0000000000000000",
                "display": "0",
                "kind": "number"
              }
            }
          ],
          "recorded_in": "Excel 16.0.20527.20088, Windows 64-bit, AMD Ryzen 7 4800H, workbook compatibility version 2",
          "source": {
            "commit": "2d0eddcac86413014643af81d646581d54ba57bc",
            "locator": "fn3-regextest-005",
            "note": null,
            "path": "crates/calc-func/tests/captures/fn3_questions/REGEXTEST.reading.json",
            "repository": "DnaCalc"
          }
        },
        {
          "call": "REGEXTEST(A1, A2, 0)",
          "correct": null,
          "excel": {
            "bits": null,
            "display": "TRUE",
            "kind": "logical"
          },
          "input_route": "cell-value2",
          "inputs": [
            {
              "name": "text",
              "value": {
                "bits": null,
                "display": "‿",
                "kind": "text"
              }
            },
            {
              "name": "pattern",
              "value": {
                "bits": null,
                "display": "\\w",
                "kind": "text"
              }
            },
            {
              "name": "case_sensitivity",
              "value": {
                "bits": "0x0000000000000000",
                "display": "0",
                "kind": "number"
              }
            }
          ],
          "recorded_in": "Excel 16.0.20527.20088, Windows 64-bit, AMD Ryzen 7 4800H, workbook compatibility version 2",
          "source": {
            "commit": "2d0eddcac86413014643af81d646581d54ba57bc",
            "locator": "fn3-regextest-006",
            "note": null,
            "path": "crates/calc-func/tests/captures/fn3_questions/REGEXTEST.reading.json",
            "repository": "DnaCalc"
          }
        },
        {
          "call": "REGEXTEST(A1, A2, 0)",
          "correct": null,
          "excel": {
            "bits": null,
            "display": "FALSE",
            "kind": "logical"
          },
          "input_route": "cell-value2",
          "inputs": [
            {
              "name": "text",
              "value": {
                "bits": null,
                "display": "a, CR (U+000D), b",
                "kind": "text"
              }
            },
            {
              "name": "pattern",
              "value": {
                "bits": null,
                "display": "a.b",
                "kind": "text"
              }
            },
            {
              "name": "case_sensitivity",
              "value": {
                "bits": "0x0000000000000000",
                "display": "0",
                "kind": "number"
              }
            }
          ],
          "recorded_in": "Excel 16.0.20527.20088, Windows 64-bit, AMD Ryzen 7 4800H, workbook compatibility version 2",
          "source": {
            "commit": "2d0eddcac86413014643af81d646581d54ba57bc",
            "locator": "fn3-regextest-007",
            "note": null,
            "path": "crates/calc-func/tests/captures/fn3_questions/REGEXTEST.reading.json",
            "repository": "DnaCalc"
          }
        },
        {
          "call": "REGEXTEST(A1, A2, 1)",
          "correct": null,
          "excel": {
            "bits": null,
            "display": "TRUE",
            "kind": "logical"
          },
          "input_route": "cell-value2",
          "inputs": [
            {
              "name": "text",
              "value": {
                "bits": null,
                "display": "K",
                "kind": "text"
              }
            },
            {
              "name": "pattern",
              "value": {
                "bits": null,
                "display": "k",
                "kind": "text"
              }
            },
            {
              "name": "case_sensitivity",
              "value": {
                "bits": "0x3ff0000000000000",
                "display": "1",
                "kind": "number"
              }
            }
          ],
          "recorded_in": "Excel 16.0.20527.20088, Windows 64-bit, AMD Ryzen 7 4800H, workbook compatibility version 2",
          "source": {
            "commit": "2d0eddcac86413014643af81d646581d54ba57bc",
            "locator": "fn3-regextest-009",
            "note": null,
            "path": "crates/calc-func/tests/captures/fn3_questions/REGEXTEST.reading.json",
            "repository": "DnaCalc"
          }
        },
        {
          "call": "REGEXTEST(A1, A2, 1)",
          "correct": null,
          "excel": {
            "bits": null,
            "display": "TRUE",
            "kind": "logical"
          },
          "input_route": "cell-value2",
          "inputs": [
            {
              "name": "text",
              "value": {
                "bits": null,
                "display": "ſ",
                "kind": "text"
              }
            },
            {
              "name": "pattern",
              "value": {
                "bits": null,
                "display": "s",
                "kind": "text"
              }
            },
            {
              "name": "case_sensitivity",
              "value": {
                "bits": "0x3ff0000000000000",
                "display": "1",
                "kind": "number"
              }
            }
          ],
          "recorded_in": "Excel 16.0.20527.20088, Windows 64-bit, AMD Ryzen 7 4800H, workbook compatibility version 2",
          "source": {
            "commit": "2d0eddcac86413014643af81d646581d54ba57bc",
            "locator": "fn3-regextest-010",
            "note": null,
            "path": "crates/calc-func/tests/captures/fn3_questions/REGEXTEST.reading.json",
            "repository": "DnaCalc"
          }
        }
      ],
      "schema": "efh.function-note/v1",
      "statement": "Some regular expression details in REGEXTEST differ from a plain reading. \\w matches a combining mark (U+0301) and connector punctuation (U+203F), so it is not limited to letters, digits and underscore. Dot does not match CR as well as LF: REGEXTEST(\"a\"&CHAR(13)&\"b\",\"a.b\") is FALSE. \\d does not match a Han character. With case_sensitivity 1, folding applies inside a character class range: É matches [é-é] and Σ matches [α-ω]. It also covers the non-ASCII partners of ASCII letters: the Kelvin sign U+212A matches k and long s U+017F matches s. ß matches its capital U+1E9E, and a Deseret letter above U+FFFF matches its other case.",
      "status": "measured",
      "title": "In REGEXTEST, \\w takes combining marks, dot refuses CR, and case folding reaches into ranges"
    }
  ],
  "schema": "efh.function-reference/v1",
  "section_order": [
    "what-it-does",
    "try-it",
    "quirks",
    "how-to-implement",
    "version-differences",
    "alternatives"
  ],
  "sections": {
    "alternatives": "\n### Relationships\n\n\n- [`REGEXEXTRACT`](FUNC.REGEXEXTRACT.md) — same engine, returns the matched text instead of a\n  verdict. `REGEXTEST(t,p)` is close to `NOT(ISNA(REGEXEXTRACT(t,p)))`, though the two differ in\n  how they report a pattern error.\n- [`REGEXREPLACE`](FUNC.REGEXREPLACE.md) — same engine, rewrites the matches.\n- `SEARCH` and `FIND` — the predecessors. `ISNUMBER(SEARCH(needle, hay))` is the classic containment\n  test; `SEARCH` supports only `*`, `?` and the `~` escape, and is case-insensitive while `FIND` is\n  case-sensitive. `REGEXTEST` does not supersede either; both remain current, and for a plain\n  substring test `SEARCH` is clearer and faster.\n- `COUNTIF` with wildcards, and `IFS`/`SWITCH` chains, are the other idioms `REGEXTEST` displaces\n  in validation work.\n- `EXACT` — for whole-string equality, which does not need a regex.\n- `ISNUMBER(SEARCH(...))` returns `TRUE`/`FALSE` too, but silently treats a missing needle as\n  `FALSE`; `REGEXTEST` distinguishes \"no match\" from \"bad pattern\" if the engine reports the latter.\n\n\n",
    "how-to-implement": "\n### Notes for implementers\n\n\n- **Do not implement a regex subset with a silent fallthrough.** This is the concrete lesson of\n  `BUG-FUNC-041` and it generalises: if your parser meets a construct it does not understand,\n  *fail*, never guess. A subset engine that errors on what it cannot do is honest and usable; one\n  that quietly reinterprets is worse than useless, because its wrong answers look like right ones.\n- **The escape set is a specification, not an implementation detail.** The upstream record's\n  live-Excel comparison lists, as admitted on the build it tested: the shorthand classes\n  `\\d \\D \\w \\W \\s \\S`; the zero-width assertions `\\A \\Z \\z \\b \\B`; the character escapes\n  `\\n \\t \\r \\f \\v \\e \\h`; and the escaped literal metacharacters\n  `\\. \\* \\+ \\? \\[ \\] \\( \\) \\| \\^ \\$ \\/ \\\\`. It lists unknown letter escapes such as\n  `\\q \\k \\m \\g \\p \\c \\x \\y \\j \\o` as rejected. Treat that as an upstream observation under one\n  Excel build, not as a Handbook claim, and re-probe before relying on it — `\\p` in particular is a\n  Unicode-property escape in full PCRE2, so its appearance in the rejected list is a signal about\n  the build tested rather than about PCRE2.\n- **Zero-width assertions must be assertion atoms, not literals.** Modelling `\\b` as a character is\n  how the original defect arose.\n- **Anchor semantics need a line-mode decision.** Whether `^` and `$` match at embedded newlines\n  depends on multiline mode; PCRE2 has both, and nothing consulted here says which Excel uses.\n- **Guard against catastrophic backtracking.** A cell formula that never returns is a worse user\n  experience than a `#VALUE!`. PCRE2 has match limits; use them, and decide what error a limit hit\n  produces.\n- **Case-insensitivity is a folding choice**, and the upstream contract records only ASCII folding\n  in its local slice. Excel folds beyond ASCII, including inside character class ranges\n  (FN-REGEXTEST-001), so ASCII folding alone will miss matches Excel makes.\n\n\n",
    "quirks": "\n### Result and edge cases\n\n\nThe return kind is `Logical`.\n\n- **Non-text arguments coerce to text.** `REGEXTEST(0, 0)` asks whether the string `\"0\"` matches\n  the pattern `\"0\"`, which is a coercion consequence described in\n  [coercion and lifting](../model/02-coercion-and-lifting.md), not a regex behaviour. The generated\n  battery on this page shows several rows of exactly this shape and they should be read that way.\n- **A pattern that can match the empty string makes the answer trivially `TRUE`** for any text,\n  which is a common way to write a predicate that silently always passes. `REGEXTEST(x, \"a*\")` is\n  `TRUE` for every `x`.\n- **The empty text argument** is a real edge and is not obviously `FALSE`: an empty-matching pattern\n  should still succeed against it. This Handbook has not established Excel's behaviour there.\n- **Errors propagate** ahead of any matching.\n- **An empty referenced cell** delivers `Empty`, distinct from an omitted argument; see\n  [the value universe](../model/01-value-universe.md).\n- **Array arguments.** Whether `REGEXTEST` lifts over an array-valued `text` — which would be the\n  natural way to validate a column — is not asserted here. The general lifting rules are in\n  [coercion and lifting](../model/02-coercion-and-lifting.md).\n\n\n\n### Errors\n\n\nMicrosoft's page publishes no explicit error table for this function (confirmed on the retrieved\npage). What can be said:\n\n| Error | Basis |\n|---|---|\n| any error value arriving in an argument | propagates, per the universal rule in the coercion chapter |\n| `#VALUE!` for a pattern the engine will not compile | expected — every regex surface must reject malformed patterns somehow — but the exact rejected set is **not** established, and this is the single largest open question on this page |\n\n",
    "sources": "- Microsoft Support, REGEXTEST function —\n  <https://support.microsoft.com/en-us/office/regextest-function-7d38200b-5e5c-4196-b4e6-9bff73afbd31>\n  (retrieved for this page; source of the signature, the argument meanings, the `case_sensitivity`\n  polarity, and the statement that this family uses the PCRE2 flavour. The page publishes no error\n  table.)\n- Handbook `content/model/01-value-universe.md`, `02-coercion-and-lifting.md`.\n\n",
    "version-differences": "No comparison between specific Excel builds is recorded here yet. This does not establish that all builds behave alike.",
    "what-it-does": "\n`REGEXTEST` answers one question: does any part of the text match the pattern?\n\nFormally, it returns `TRUE` if there exists any substring of `text` — including the empty substring,\nwhere the pattern permits it — that the regular expression `pattern` matches, and `FALSE` otherwise.\nIt is a *search*, not a *full match*: the pattern does not have to describe the entire string. To\ndemand a full match you anchor the pattern yourself with `^` and `$`, or with `\\A` and `\\z`.\n\nThe regex dialect is documented. Microsoft's page states that this function, together with\n`REGEXEXTRACT` and `REGEXREPLACE`, uses the PCRE2 flavour of regular expressions. That single\nsentence is the most valuable thing on the documentation page, because it converts a large open\nquestion (\"which regex is this?\") into a citation. It does not, however, mean everything PCRE2 can\nexpress is reachable from a worksheet cell — see below.\n\n`REGEXTEST` returns a `Logical`, which makes it the natural condition for `IF`, `FILTER` and\nconditional formatting, and the natural building block for validation columns. Because it returns\n`TRUE`/`FALSE` rather than a value or an error, it composes better than the older\n`ISNUMBER(SEARCH(...))` idiom it replaces.\n\n\n\n### Arguments\n\n\n`REGEXTEST(text, pattern, [case_sensitivity])`\n\n| Argument | Required | Meaning (as documented by Microsoft) |\n|---|---|---|\n| `text` | yes | The text, or reference to a cell containing text, to match against. |\n| `pattern` | yes | The regular expression describing the pattern to match. |\n| `case_sensitivity` | no | `0` (default) case-sensitive; `1` case-insensitive. |\n\nThe argument that surprises people is the third, and in two ways. First its **polarity**: `0` means\ncase-*sensitive*. The name reads like a switch that turns sensitivity on, and it is the opposite —\n`1` turns matching case-*insensitive*. Second, it duplicates something the pattern can already say:\nPCRE2 supports the inline `(?i)` flag, so there are two mechanisms for the same effect and nothing\nconsulted here states how they interact when they disagree.\n\nNote also what is *not* an argument: there is no way to ask for the match position or the matched\ntext. That is `REGEXEXTRACT`'s job.\n\n\n"
  },
  "signature": {
    "display": "REGEXTEST(text, pattern, [case_sensitivity])",
    "parameters": [
      {
        "description": null,
        "name": "text",
        "optional": false,
        "repeats": false
      },
      {
        "description": null,
        "name": "pattern",
        "optional": false,
        "repeats": false
      },
      {
        "description": null,
        "name": "case_sensitivity",
        "optional": true,
        "repeats": false
      }
    ],
    "trailing_repeats": false
  },
  "sources": {
    "metadata": {
      "admission": {
        "label": "implemented",
        "reason": null
      },
      "arity": {
        "max": 3,
        "min": 2
      },
      "category": "Text functions",
      "classification": {
        "arg_preparation_profile": "ValuesOnlyPreAdapter",
        "coercion_lift_profile": "Custom",
        "determinism_class": "Deterministic",
        "error_collapse_profile": "None",
        "fec_dependency_profile": "None",
        "host_interaction_class": "None",
        "kernel_signature_class": "Custom",
        "rich_value_usage": "RichBlind",
        "surface_fec_dependency_profile": "RefOnly",
        "thread_safety_class": "SafePure",
        "volatility_class": "NonVolatile"
      },
      "descriptions": {
        "long": null,
        "short": "TRUE when a text matches a regular expression",
        "short_source": "dna-calc-own"
      },
      "docs": {
        "english_description": "Determines whether any part of text matches the pattern",
        "microsoft_url": "https://support.microsoft.com/en-us/office/regextest-function-7d38200b-5e5c-4196-b4e6-9bff73afbd31"
      },
      "entry_kind": "built_in_function",
      "localized_family_names": null,
      "localized_names": [
        {
          "locale": "ar-SA",
          "name": "REGEXTEST"
        },
        {
          "locale": "bg-BG",
          "name": "REGEXTEST"
        },
        {
          "locale": "cs-CZ",
          "name": "REGEXTEST"
        },
        {
          "locale": "da-DK",
          "name": "REGEXTEST"
        },
        {
          "locale": "de-DE",
          "name": "REGEXTEST"
        },
        {
          "locale": "el-GR",
          "name": "REGEXTEST"
        },
        {
          "locale": "en-AU",
          "name": "REGEXTEST"
        },
        {
          "locale": "en-GB",
          "name": "REGEXTEST"
        },
        {
          "locale": "en-US",
          "name": "REGEXTEST"
        },
        {
          "locale": "es-ES",
          "name": "REGEXPRUEBA"
        },
        {
          "locale": "et-EE",
          "name": "REGEXTEST"
        },
        {
          "locale": "fi-FI",
          "name": "REGEXTESTAA"
        },
        {
          "locale": "fr-FR",
          "name": "REGEX.TEST*"
        },
        {
          "locale": "he-IL",
          "name": "REGEXTEST"
        },
        {
          "locale": "hr-HR",
          "name": "REGEXTEST"
        },
        {
          "locale": "hu-HU",
          "name": "REGKIFPRÓBA"
        },
        {
          "locale": "id-ID",
          "name": "REGEXTEST"
        },
        {
          "locale": "it-IT",
          "name": "REGEXTEST"
        },
        {
          "locale": "ja-JP",
          "name": "REGEXTEST"
        },
        {
          "locale": "ko-KR",
          "name": "REGEXTEST"
        },
        {
          "locale": "lt-LT",
          "name": "REGEXTEST"
        },
        {
          "locale": "lv-LV",
          "name": "REGEXTEST"
        },
        {
          "locale": "nb-NO",
          "name": "REGEXTEST"
        },
        {
          "locale": "nl-NL",
          "name": "REGEXTEST"
        },
        {
          "locale": "pl-PL",
          "name": "REGEXTEST"
        },
        {
          "locale": "pt-BR",
          "name": "REGEXTEST"
        },
        {
          "locale": "pt-PT",
          "name": "REGEX.TESTAR"
        },
        {
          "locale": "ro-RO",
          "name": "REGEXTEST"
        },
        {
          "locale": "ru-RU",
          "name": "РЕГТЕСТ"
        },
        {
          "locale": "sk-SK",
          "name": "REGEXTEST"
        },
        {
          "locale": "sl-SI",
          "name": "REGEXTEST"
        },
        {
          "locale": "sr-Latn-RS",
          "name": "REGEXTEST"
        },
        {
          "locale": "sv-SE",
          "name": "REGEXTEST"
        },
        {
          "locale": "th-TH",
          "name": "REGEXTEST"
        },
        {
          "locale": "tr-TR",
          "name": "NORMİFADESINA"
        },
        {
          "locale": "uk-UA",
          "name": "REGEXTEST"
        },
        {
          "locale": "vi-VN",
          "name": "REGEXTEST"
        },
        {
          "locale": "zh-CN",
          "name": "REGEXTEST"
        },
        {
          "locale": "zh-HK",
          "name": "REGEXTEST"
        },
        {
          "locale": "zh-TW",
          "name": "REGEXTEST"
        }
      ],
      "signature": {
        "display": "REGEXTEST(text, pattern, [case_sensitivity])",
        "parameters": [
          {
            "description": null,
            "name": "text",
            "optional": false,
            "repeats": false
          },
          {
            "description": null,
            "name": "pattern",
            "optional": false,
            "repeats": false
          },
          {
            "description": null,
            "name": "case_sensitivity",
            "optional": true,
            "repeats": false
          }
        ],
        "trailing_repeats": false
      },
      "surface_name": "REGEXTEST",
      "version_marker": null,
      "xlcall": null
    },
    "microsoft": "https://support.microsoft.com/en-us/office/regextest-function-7d38200b-5e5c-4196-b4e6-9bff73afbd31"
  },
  "try_it": {
    "formula": "=REGEXTEST(0, 0)"
  },
  "url": "https://handbook.dnacalc.com/functions/REGEXTEST.html",
  "variants": [],
  "versions": [
    {
      "behaviour": "REGEXTEST(A1, A2, 1) returned TRUE. REGEXTEST(A1, A2, 1) returned TRUE. 5 further recorded controls are attached. Inputs were supplied through cells using Value2. These are controls from this environment, not a same-input comparison with another build.",
      "excel_build": "16.0.20527.20088",
      "observations": [
        {
          "call": "REGEXTEST(A1, A2, 1)",
          "excel": {
            "bits": null,
            "display": "TRUE",
            "kind": "logical"
          },
          "input_route": "cell-value2",
          "inputs": [
            {
              "name": "text",
              "value": {
                "bits": null,
                "display": "É",
                "kind": "text"
              }
            },
            {
              "name": "pattern",
              "value": {
                "bits": null,
                "display": "[é-é]",
                "kind": "text"
              }
            },
            {
              "name": "case_sensitivity",
              "value": {
                "bits": "0x3ff0000000000000",
                "display": "1",
                "kind": "number"
              }
            }
          ],
          "recorded_in": "Excel 16.0.20527.20088, Windows 64-bit, AMD Ryzen 7 4800H, workbook compatibility version 2"
        },
        {
          "call": "REGEXTEST(A1, A2, 1)",
          "excel": {
            "bits": null,
            "display": "TRUE",
            "kind": "logical"
          },
          "input_route": "cell-value2",
          "inputs": [
            {
              "name": "text",
              "value": {
                "bits": null,
                "display": "Σ",
                "kind": "text"
              }
            },
            {
              "name": "pattern",
              "value": {
                "bits": null,
                "display": "[α-ω]",
                "kind": "text"
              }
            },
            {
              "name": "case_sensitivity",
              "value": {
                "bits": "0x3ff0000000000000",
                "display": "1",
                "kind": "number"
              }
            }
          ],
          "recorded_in": "Excel 16.0.20527.20088, Windows 64-bit, AMD Ryzen 7 4800H, workbook compatibility version 2"
        },
        {
          "call": "REGEXTEST(A1, A2, 0)",
          "excel": {
            "bits": null,
            "display": "TRUE",
            "kind": "logical"
          },
          "input_route": "cell-value2",
          "inputs": [
            {
              "name": "text",
              "value": {
                "bits": null,
                "display": "́",
                "kind": "text"
              }
            },
            {
              "name": "pattern",
              "value": {
                "bits": null,
                "display": "\\w",
                "kind": "text"
              }
            },
            {
              "name": "case_sensitivity",
              "value": {
                "bits": "0x0000000000000000",
                "display": "0",
                "kind": "number"
              }
            }
          ],
          "recorded_in": "Excel 16.0.20527.20088, Windows 64-bit, AMD Ryzen 7 4800H, workbook compatibility version 2"
        },
        {
          "call": "REGEXTEST(A1, A2, 0)",
          "excel": {
            "bits": null,
            "display": "TRUE",
            "kind": "logical"
          },
          "input_route": "cell-value2",
          "inputs": [
            {
              "name": "text",
              "value": {
                "bits": null,
                "display": "‿",
                "kind": "text"
              }
            },
            {
              "name": "pattern",
              "value": {
                "bits": null,
                "display": "\\w",
                "kind": "text"
              }
            },
            {
              "name": "case_sensitivity",
              "value": {
                "bits": "0x0000000000000000",
                "display": "0",
                "kind": "number"
              }
            }
          ],
          "recorded_in": "Excel 16.0.20527.20088, Windows 64-bit, AMD Ryzen 7 4800H, workbook compatibility version 2"
        },
        {
          "call": "REGEXTEST(A1, A2, 0)",
          "excel": {
            "bits": null,
            "display": "FALSE",
            "kind": "logical"
          },
          "input_route": "cell-value2",
          "inputs": [
            {
              "name": "text",
              "value": {
                "bits": null,
                "display": "a, CR (U+000D), b",
                "kind": "text"
              }
            },
            {
              "name": "pattern",
              "value": {
                "bits": null,
                "display": "a.b",
                "kind": "text"
              }
            },
            {
              "name": "case_sensitivity",
              "value": {
                "bits": "0x0000000000000000",
                "display": "0",
                "kind": "number"
              }
            }
          ],
          "recorded_in": "Excel 16.0.20527.20088, Windows 64-bit, AMD Ryzen 7 4800H, workbook compatibility version 2"
        },
        {
          "call": "REGEXTEST(A1, A2, 1)",
          "excel": {
            "bits": null,
            "display": "TRUE",
            "kind": "logical"
          },
          "input_route": "cell-value2",
          "inputs": [
            {
              "name": "text",
              "value": {
                "bits": null,
                "display": "K",
                "kind": "text"
              }
            },
            {
              "name": "pattern",
              "value": {
                "bits": null,
                "display": "k",
                "kind": "text"
              }
            },
            {
              "name": "case_sensitivity",
              "value": {
                "bits": "0x3ff0000000000000",
                "display": "1",
                "kind": "number"
              }
            }
          ],
          "recorded_in": "Excel 16.0.20527.20088, Windows 64-bit, AMD Ryzen 7 4800H, workbook compatibility version 2"
        },
        {
          "call": "REGEXTEST(A1, A2, 1)",
          "excel": {
            "bits": null,
            "display": "TRUE",
            "kind": "logical"
          },
          "input_route": "cell-value2",
          "inputs": [
            {
              "name": "text",
              "value": {
                "bits": null,
                "display": "ſ",
                "kind": "text"
              }
            },
            {
              "name": "pattern",
              "value": {
                "bits": null,
                "display": "s",
                "kind": "text"
              }
            },
            {
              "name": "case_sensitivity",
              "value": {
                "bits": "0x3ff0000000000000",
                "display": "1",
                "kind": "number"
              }
            }
          ],
          "recorded_in": "Excel 16.0.20527.20088, Windows 64-bit, AMD Ryzen 7 4800H, workbook compatibility version 2"
        }
      ],
      "platform": "Windows 64-bit, AMD Ryzen 7 4800H, workbook compatibility version 2",
      "sources": [
        "https://github.com/DnaCalc/ExcelFunctionsHandbook/blob/3345a87/content/notes/FN-REGEXTEST-001.json"
      ]
    }
  ]
}