← All functions

REGEXTEST

Unsupported (not recognized)

Category: Text · Last tested 2026-09-01

Real compatibility results for the REGEXTEST function: executed in Excel for the web, Google Sheets and LibreOffice Calc, with desktop Excel behavior from Microsoft’s official documentation (we do not run desktop Excel — Excel for the web is a different application and is executed separately). Syntax and links to that documentation are below.

Support matrix

EngineDocumentedLive-testedVerdict
Excel (desktop)Yes No — documented only n/a
Excel for the web— Yes (recalc, 2026-09-01) Supported, behaves as documented
Google SheetsNo Yes (Drive import, 2026-08-31) Unsupported (not recognized)
LibreOffice CalcNo Yes (25.8.7.3, 2026-08-31) Unsupported (not recognized)

LibreOffice version history

We executed the same test cases under each LibreOffice release to show exactly when REGEXTEST’s support changed — not documentation claims, real results.

LibreOffice versionVerdictTested
24.2.0.3 Unsupported (not recognized) 2026-08-31
24.8.7.2 Unsupported (not recognized) 2026-08-31
25.2.0.3 Unsupported (not recognized) 2026-08-31
25.8.7.3 Unsupported (not recognized) 2026-08-31

Why isn't REGEXTEST working in LibreOffice?

LibreOffice Calc does not implement REGEXTEST as of 25.8.7.3 — in our executed tests it returns a #NAME? (unrecognized function) error. This is not a typo or a settings problem, and saving the file as .xlsx does not change it: the function simply isn’t available yet. The same formula is documented for Excel. Watch the LibreOffice version support page — we re-run every test on each new release, so it will flip to Supported here as soon as it lands.

Why isn’t REGEXTEST working in Google Sheets?

Google Sheets does not implement REGEXTEST: we imported the formula into Sheets on 2026-08-31 and every case came back #NAME? (unrecognized function). Sheets is a rolling service with no version to pin, so this is a statement about the service on that date, and Google’s own function list does not document it either. Rewrite the formula with a documented Sheets equivalent — see the Excel ↔ Sheets equivalents table.

Discovered quirks

Executed test cases

Excel for the web (executed 2026-09-01 via OneDrive recalculation)

These values come from Excel for the web, not from desktop Excel. They are two different implementations of the calculation engine, and this run measured only the web one: the corpus was uploaded to OneDrive as .xlsx, recalculated by Excel for the web on open, and downloaded again for readback. Excel for the web is a rolling service with no pinnable version, so the run is identified by its date. Where a value here disagrees with the Expected column — which is Microsoft’s documentation of the desktop product — we cannot tell you whether the web engine diverges from the desktop one or the documentation is wrong about both, because we do not run desktop Excel.

FormulaDescriptionResultExpectedVerdict
=REGEXTEST(A2,"a") Microsoft's documented example: does 'alfalfa' contain the letter a? True True
Provenance

Microsoft's Example 1 checks "various aspects of the string 'alfalfa'", and its first row is =REGEXTEST(A2,"a") with the question "Does it contain the letter 'a'?". The documented return is "TRUE if there is a match and FALSE if there is not", and "alfalfa" plainly contains an 'a', so the answer is TRUE. (The page shows the result column only as a screenshot, so the TRUE/FALSE values in this file are read off the questions Microsoft prints in text, each of which has one and only one correct answer for the string 'alfalfa'.) REGEX FLAVOUR, AS DOCUMENTED: "All regular expressions for this function, as well as REGEXTEST and REGEXREPLACE use the PCRE2 'flavor' of regex" -- Microsoft's own sentence, printed on all three REGEX pages. This corpus's patterns are deliberately confined to character classes, quantifiers and anchors, which mean the same thing in PCRE2, in RE2 and in the ICU flavour LibreOffice's own REGEX function documents, so a difference between engines here is a difference about the FUNCTION, not about dialect corners. Microsoft's page was re-read live on 2026-08-31 at https://support.microsoft.com/en-us/excel/functions/regextest-function (the /en-us/office/<name>-function-<guid> path was returning Microsoft's 'Sorry, the page you're looking for can't be found' body throughout this batch, and the working path serves an 87 KB stub about half the time, so pages were fetched with retries until the payload exceeded 150 KB). EXECUTED RESULT -- GENUINELY ABSENT: LibreOffice returns #NAME? on all four pinned builds (24.2.0.3, 24.8.7.2, 25.2.0.3, 25.8.7.3), which agree case for case, under all four spellings probed before the run (plain, _xlfn., COM.MICROSOFT. and ORG.OPENOFFICE.). None of the three Excel REGEX functions exists in any LibreOffice release tested here. LibreOffice is not without regular expressions -- its own REGEX(Text; Expression [; [Replacement] [; Flags|Occurrence]]) is documented and works -- but it is a different function with a different name, a different argument shape and a different flavour (ICU, against the PCRE2 Microsoft's pages name), so a workbook using REGEXTEST or REGEXEXTRACT does not open and run; it has to be rewritten.

Matched
=REGEXTEST(A2,"[a-z]") Microsoft's row: does it contain any lower case letters? True True
Provenance

Microsoft's second documented row, question "Does it contain any lower case letters?". Every character of "alfalfa" is lower case, so TRUE.

Matched
=REGEXTEST(A2,"[A-Z]") Microsoft's row: does it contain any upper case letters? False False
Provenance

Microsoft's third documented row, question "Does it contain any upper case letters?". It does not, so FALSE -- and this is the row that proves matching is case-SENSITIVE by default, since a case-insensitive engine would answer TRUE here and every subsequent case-sensitivity assertion in this batch would be meaningless.

Matched
=REGEXTEST(A2,"[0-9]") Microsoft's row: does it contain any number digits? False False
Provenance

Microsoft's fifth documented row, question "Does it contain any number digits?". No digits, so FALSE. Asserted alongside the TRUE rows so that an engine that always returns TRUE (or that returns a truthy string) is caught.

Matched
=REGEXTEST(A2,"^\([0-9]{3}\) [0-9]{3}-[0-9]{4}$") Microsoft's Example 2 pattern against a number in the required format True True
Provenance

Microsoft's Example 2 checks "whether phone numbers have the specific format '(###) ###-####'" using the pattern ^\([0-9]{3}\) [0-9]{3}-[0-9]{4}$, and notes: "Backslash '\' is used to 'escape' parentheses '()' and some other characters. In this pattern, '\(' is interpreted as '(' and '\)' is interpreted as ')'." The string "(378) 555-4195" is Microsoft's own first data row and matches the pattern end to end -- three digits in literal parentheses, a space, three digits, a hyphen, four digits -- so TRUE. This case also exercises the anchors and the escaping, which are the parts of a pattern most likely to be mangled on the way into a stored .xlsx.

Matched
=REGEXTEST(A2,"^\([0-9]{3}\) [0-9]{3}-[0-9]{4}$") The same pattern against Microsoft's second data row, which has a country code False False
Provenance

Microsoft's second data row for the same example is "+1(878) 555-8622". The pattern is anchored at both ends with ^ and $, so the leading "+1" makes the whole string fail to match: FALSE. The pair of phone cases is the sharpest test in this file -- an engine that ignored the anchors would return TRUE for both.

Matched
=REGEXTEST("ALFALFA","alfalfa",1) The documented case_sensitivity argument set to case-insensitive True True
Provenance

Microsoft documents case_sensitivity as "0: Case sensitive" (default) and "1: Case insensitive". With 1, the lower-case literal pattern matches the upper-case string, so TRUE; with the default it would be FALSE.

Matched

Google Sheets (executed 2026-08-31 via Drive import)

Google Sheets is a rolling service with no pinnable version, so this run is identified by its date. The corpus was imported to Drive as .xlsx, recalculated by Sheets, and exported back for readback.

FormulaDescriptionResultExpectedVerdict
=REGEXTEST(A2,"a") Microsoft's documented example: does 'alfalfa' contain the letter a? #NAME? True
Provenance

Microsoft's Example 1 checks "various aspects of the string 'alfalfa'", and its first row is =REGEXTEST(A2,"a") with the question "Does it contain the letter 'a'?". The documented return is "TRUE if there is a match and FALSE if there is not", and "alfalfa" plainly contains an 'a', so the answer is TRUE. (The page shows the result column only as a screenshot, so the TRUE/FALSE values in this file are read off the questions Microsoft prints in text, each of which has one and only one correct answer for the string 'alfalfa'.) REGEX FLAVOUR, AS DOCUMENTED: "All regular expressions for this function, as well as REGEXTEST and REGEXREPLACE use the PCRE2 'flavor' of regex" -- Microsoft's own sentence, printed on all three REGEX pages. This corpus's patterns are deliberately confined to character classes, quantifiers and anchors, which mean the same thing in PCRE2, in RE2 and in the ICU flavour LibreOffice's own REGEX function documents, so a difference between engines here is a difference about the FUNCTION, not about dialect corners. Microsoft's page was re-read live on 2026-08-31 at https://support.microsoft.com/en-us/excel/functions/regextest-function (the /en-us/office/<name>-function-<guid> path was returning Microsoft's 'Sorry, the page you're looking for can't be found' body throughout this batch, and the working path serves an 87 KB stub about half the time, so pages were fetched with retries until the payload exceeded 150 KB). EXECUTED RESULT -- GENUINELY ABSENT: LibreOffice returns #NAME? on all four pinned builds (24.2.0.3, 24.8.7.2, 25.2.0.3, 25.8.7.3), which agree case for case, under all four spellings probed before the run (plain, _xlfn., COM.MICROSOFT. and ORG.OPENOFFICE.). None of the three Excel REGEX functions exists in any LibreOffice release tested here. LibreOffice is not without regular expressions -- its own REGEX(Text; Expression [; [Replacement] [; Flags|Occurrence]]) is documented and works -- but it is a different function with a different name, a different argument shape and a different flavour (ICU, against the PCRE2 Microsoft's pages name), so a workbook using REGEXTEST or REGEXEXTRACT does not open and run; it has to be rewritten.

Mismatch
=REGEXTEST(A2,"[a-z]") Microsoft's row: does it contain any lower case letters? #NAME? True
Provenance

Microsoft's second documented row, question "Does it contain any lower case letters?". Every character of "alfalfa" is lower case, so TRUE.

Mismatch
=REGEXTEST(A2,"[A-Z]") Microsoft's row: does it contain any upper case letters? #NAME? False
Provenance

Microsoft's third documented row, question "Does it contain any upper case letters?". It does not, so FALSE -- and this is the row that proves matching is case-SENSITIVE by default, since a case-insensitive engine would answer TRUE here and every subsequent case-sensitivity assertion in this batch would be meaningless.

Mismatch
=REGEXTEST(A2,"[0-9]") Microsoft's row: does it contain any number digits? #NAME? False
Provenance

Microsoft's fifth documented row, question "Does it contain any number digits?". No digits, so FALSE. Asserted alongside the TRUE rows so that an engine that always returns TRUE (or that returns a truthy string) is caught.

Mismatch
=REGEXTEST(A2,"^\([0-9]{3}\) [0-9]{3}-[0-9]{4}$") Microsoft's Example 2 pattern against a number in the required format #NAME? True
Provenance

Microsoft's Example 2 checks "whether phone numbers have the specific format '(###) ###-####'" using the pattern ^\([0-9]{3}\) [0-9]{3}-[0-9]{4}$, and notes: "Backslash '\' is used to 'escape' parentheses '()' and some other characters. In this pattern, '\(' is interpreted as '(' and '\)' is interpreted as ')'." The string "(378) 555-4195" is Microsoft's own first data row and matches the pattern end to end -- three digits in literal parentheses, a space, three digits, a hyphen, four digits -- so TRUE. This case also exercises the anchors and the escaping, which are the parts of a pattern most likely to be mangled on the way into a stored .xlsx.

Mismatch
=REGEXTEST(A2,"^\([0-9]{3}\) [0-9]{3}-[0-9]{4}$") The same pattern against Microsoft's second data row, which has a country code #NAME? False
Provenance

Microsoft's second data row for the same example is "+1(878) 555-8622". The pattern is anchored at both ends with ^ and $, so the leading "+1" makes the whole string fail to match: FALSE. The pair of phone cases is the sharpest test in this file -- an engine that ignored the anchors would return TRUE for both.

Mismatch
=REGEXTEST("ALFALFA","alfalfa",1) The documented case_sensitivity argument set to case-insensitive #NAME? True
Provenance

Microsoft documents case_sensitivity as "0: Case sensitive" (default) and "1: Case insensitive". With 1, the lower-case literal pattern matches the upper-case string, so TRUE; with the default it would be FALSE.

Mismatch

LibreOffice Calc 25.8.7.3 (tested 2026-08-31)

FormulaDescriptionResultExpectedVerdict
=REGEXTEST(A2,"a") Microsoft's documented example: does 'alfalfa' contain the letter a? #NAME? True
Provenance

Microsoft's Example 1 checks "various aspects of the string 'alfalfa'", and its first row is =REGEXTEST(A2,"a") with the question "Does it contain the letter 'a'?". The documented return is "TRUE if there is a match and FALSE if there is not", and "alfalfa" plainly contains an 'a', so the answer is TRUE. (The page shows the result column only as a screenshot, so the TRUE/FALSE values in this file are read off the questions Microsoft prints in text, each of which has one and only one correct answer for the string 'alfalfa'.) REGEX FLAVOUR, AS DOCUMENTED: "All regular expressions for this function, as well as REGEXTEST and REGEXREPLACE use the PCRE2 'flavor' of regex" -- Microsoft's own sentence, printed on all three REGEX pages. This corpus's patterns are deliberately confined to character classes, quantifiers and anchors, which mean the same thing in PCRE2, in RE2 and in the ICU flavour LibreOffice's own REGEX function documents, so a difference between engines here is a difference about the FUNCTION, not about dialect corners. Microsoft's page was re-read live on 2026-08-31 at https://support.microsoft.com/en-us/excel/functions/regextest-function (the /en-us/office/<name>-function-<guid> path was returning Microsoft's 'Sorry, the page you're looking for can't be found' body throughout this batch, and the working path serves an 87 KB stub about half the time, so pages were fetched with retries until the payload exceeded 150 KB). EXECUTED RESULT -- GENUINELY ABSENT: LibreOffice returns #NAME? on all four pinned builds (24.2.0.3, 24.8.7.2, 25.2.0.3, 25.8.7.3), which agree case for case, under all four spellings probed before the run (plain, _xlfn., COM.MICROSOFT. and ORG.OPENOFFICE.). None of the three Excel REGEX functions exists in any LibreOffice release tested here. LibreOffice is not without regular expressions -- its own REGEX(Text; Expression [; [Replacement] [; Flags|Occurrence]]) is documented and works -- but it is a different function with a different name, a different argument shape and a different flavour (ICU, against the PCRE2 Microsoft's pages name), so a workbook using REGEXTEST or REGEXEXTRACT does not open and run; it has to be rewritten.

Mismatch
=REGEXTEST(A2,"[a-z]") Microsoft's row: does it contain any lower case letters? #NAME? True
Provenance

Microsoft's second documented row, question "Does it contain any lower case letters?". Every character of "alfalfa" is lower case, so TRUE.

Mismatch
=REGEXTEST(A2,"[A-Z]") Microsoft's row: does it contain any upper case letters? #NAME? False
Provenance

Microsoft's third documented row, question "Does it contain any upper case letters?". It does not, so FALSE -- and this is the row that proves matching is case-SENSITIVE by default, since a case-insensitive engine would answer TRUE here and every subsequent case-sensitivity assertion in this batch would be meaningless.

Mismatch
=REGEXTEST(A2,"[0-9]") Microsoft's row: does it contain any number digits? #NAME? False
Provenance

Microsoft's fifth documented row, question "Does it contain any number digits?". No digits, so FALSE. Asserted alongside the TRUE rows so that an engine that always returns TRUE (or that returns a truthy string) is caught.

Mismatch
=REGEXTEST(A2,"^\([0-9]{3}\) [0-9]{3}-[0-9]{4}$") Microsoft's Example 2 pattern against a number in the required format #NAME? True
Provenance

Microsoft's Example 2 checks "whether phone numbers have the specific format '(###) ###-####'" using the pattern ^\([0-9]{3}\) [0-9]{3}-[0-9]{4}$, and notes: "Backslash '\' is used to 'escape' parentheses '()' and some other characters. In this pattern, '\(' is interpreted as '(' and '\)' is interpreted as ')'." The string "(378) 555-4195" is Microsoft's own first data row and matches the pattern end to end -- three digits in literal parentheses, a space, three digits, a hyphen, four digits -- so TRUE. This case also exercises the anchors and the escaping, which are the parts of a pattern most likely to be mangled on the way into a stored .xlsx.

Mismatch
=REGEXTEST(A2,"^\([0-9]{3}\) [0-9]{3}-[0-9]{4}$") The same pattern against Microsoft's second data row, which has a country code #NAME? False
Provenance

Microsoft's second data row for the same example is "+1(878) 555-8622". The pattern is anchored at both ends with ^ and $, so the leading "+1" makes the whole string fail to match: FALSE. The pair of phone cases is the sharpest test in this file -- an engine that ignored the anchors would return TRUE for both.

Mismatch
=REGEXTEST("ALFALFA","alfalfa",1) The documented case_sensitivity argument set to case-insensitive #NAME? True
Provenance

Microsoft documents case_sensitivity as "0: Case sensitive" (default) and "1: Case insensitive". With 1, the lower-case literal pattern matches the upper-case string, so TRUE; with the default it would be FALSE.

Mismatch

Docs & syntax

Where REGEXTEST behaves differently