The REGEXTEST function allows you to check whether any part of supplied text matches a regular expression ("regex"). It will return TRUE if there is a match and FALSE if there is not.
Syntax
The REGEXTEST function determines whether any part of text matches the pattern.
The syntax of the REGEXTEST function is:
REGEXTEST(text, pattern, [case_sensitivity])
| Argument | Description |
|---|---|
| text (required) |
The text or the reference to a cell containing the text you want to match against. |
| pattern (required) |
The regular expression ("regex") that describes the pattern of text you want to match. |
| case_sensitivity | Determines whether the match is case-sensitive. By default, the match is case-sensitive. Enter one of the following: 0: Case sensitive 1: Case insensitive |
Note
When writing regex patterns, symbols called ‘tokens’ can be used that match with a variety of characters. These are some simple tokens for reference:
- “[0-9]”: any numerical digit
- “[a-z]”: a character in the range of a to z
- “.”: any character
- “a”: the “a” character
- “a*”: zero or more “a”
- “a+”: one or more “a”
- All regular expressions for this function, as well as REGEXEXTRACT and REGEXREPLACE use the PCRE2 'flavor' of regex.
- REGEXEXTRACT always return text values. You can convert these results back to a number with the VALUE function.
Examples
Copy the example data and paste it in cell A1 of a new Excel worksheet. If you need to, you can adjust the column widths to see all the data.
Example 1
Check various aspects of the string 'alfalfa'
| Data | |
|---|---|
| alfalfa | |
| Formulas | Questions |
| =REGEXTEST(A2,"a") | Does it contain the letter 'a'? |
| =REGEXTEST(A2,"[a-z]") | Does it contain any lower case letters? |
| =REGEXTEST(A2,"[A-Z]") | Does it contain any upper case letters? |
| =REGEXTEST(A2,"[aeiou]") | Does it contain any vowels? |
| =REGEXTEST(A2,"[0-9]") | Does it contain any number digits? |
The following illustration shows the results.
Example 2
Check whether phone numbers have the specific format "(###) ###-####", using the pattern:
"^\([0-9]{3}\) [0-9]{3}-[0-9]{4}$"
Note
Backslash "\" is used to 'escape' parentheses "()" and some other characters. In this pattern, "\(" is interpreted as "(" and "\)" is interpreted as ")"
| Data |
|---|
| (378) 555-4195 |
| +1(878) 555-8622 |
| Formulas |
| =REGEXTEST(A2,"^\([0-9]{3}\) [0-9]{3}-[0-9]{4}$") |
| =REGEXTEST(A2,"^\([0-9]{3}\) [0-9]{3}-[0-9]{4}$") |
The following illustration shows the result.