Bird
Raised Fist0
Google Sheetsspreadsheet~5 mins

REGEXMATCH and REGEXEXTRACT in Google Sheets - Step-by-Step Guide

Choose your learning style10 modes available
Introduction
These two functions help you find and pull out text patterns in your spreadsheet. REGEXMATCH checks if a pattern exists in a cell, and REGEXEXTRACT pulls out the matching part. They solve the problem of searching and extracting text without manual work.
When you want to check if an email address in a cell is valid by looking for the '@' symbol.
When you need to pull out the area code from a phone number in a list.
When you want to find if a product code contains certain letters or numbers.
When you want to extract the date from a text string like 'Order on 2024-06-15'.
When you want to filter rows that contain a specific word pattern.
Steps
Step 1: Click
- a blank cell where you want the result
The cell is selected and ready for input
Step 2: Type
- the formula bar
The formula is entered for evaluation
💡 Start with =REGEXMATCH(text, pattern) or =REGEXEXTRACT(text, pattern)
Step 3: In the formula, replace 'text' with the cell reference containing your text
- formula bar
The formula points to your data
Step 4: Replace 'pattern' with the text pattern you want to find, enclosed in double quotes
- formula bar
The formula knows what pattern to look for
Step 5: Press Enter
- formula bar
The cell shows TRUE or FALSE for REGEXMATCH, or the extracted text for REGEXEXTRACT
Step 6: Drag the fill handle down to apply the formula to other cells
- bottom right corner of the formula cell
The formula copies and adjusts for each row
Before vs After
Before
Cell A2 contains 'Call me at 555-1234', no formula in B2
After
Cell B2 contains =REGEXEXTRACT(A2, "\d{3}-\d{4}") and shows '555-1234'
Settings Reference
text
📍 first argument in formula
The text to search or extract from
Default: none
pattern
📍 second argument in formula
The pattern to find in the text
Default: none
Common Mistakes
Not putting the pattern inside double quotes
Google Sheets treats unquoted text as a cell or name, causing errors
Always enclose the pattern in double quotes, like "\d+"
Using REGEXEXTRACT when the pattern does not exist in the text
The formula returns an error if no match is found
Use REGEXMATCH first to check if the pattern exists before extracting
Summary
REGEXMATCH checks if a text contains a pattern and returns TRUE or FALSE.
REGEXEXTRACT pulls out the part of the text that matches the pattern.
Always put your pattern inside double quotes and test with REGEXMATCH before extracting.

Practice

(1/5)
1. What does the formula =REGEXMATCH("apple123", "\d+") return in Google Sheets?
easy
A. TRUE
B. FALSE
C. apple123
D. Error

Solution

  1. Step 1: Understand REGEXMATCH function

    REGEXMATCH checks if the text contains a pattern and returns TRUE or FALSE.
  2. Step 2: Analyze the pattern "\d+" on "apple123"

    "\d+" means one or more digits. "apple123" contains digits "123", so it matches.
  3. Final Answer:

    TRUE -> Option A
  4. Quick Check:

    Digits found = TRUE [OK]
Hint: REGEXMATCH returns TRUE if pattern exists anywhere in text [OK]
Common Mistakes:
  • Thinking REGEXMATCH extracts text instead of TRUE/FALSE
  • Confusing \d+ with matching letters
  • Expecting the whole text to match pattern
2. Which of these formulas correctly extracts the first sequence of digits from cell A1 using REGEXEXTRACT?
easy
A. =REGEXMATCH(A1, "\d+")
B. =REGEXEXTRACT(A1, "[a-zA-Z]+")
C. =REGEXEXTRACT(A1, "\w+")
D. =REGEXEXTRACT(A1, "\d+")

Solution

  1. Step 1: Identify the goal - extract digits

    We want to extract digits, so the pattern should match digits: "\d+".
  2. Step 2: Check each option

    =REGEXEXTRACT(A1, "\d+") uses REGEXEXTRACT with "\d+" which extracts digits correctly. Others extract letters or use REGEXMATCH which returns TRUE/FALSE.
  3. Final Answer:

    =REGEXEXTRACT(A1, "\d+") -> Option D
  4. Quick Check:

    Digits extraction = =REGEXEXTRACT(A1, "\d+") [OK]
Hint: Use \d+ inside REGEXEXTRACT to get digits [OK]
Common Mistakes:
  • Using REGEXMATCH instead of REGEXEXTRACT to get text
  • Using letter patterns when digits are needed
  • Wrong pattern syntax like missing escape \
3. Given cell A1 contains "Order #12345: shipped", what is the result of =REGEXEXTRACT(A1, "#(\d+)")?
medium
A. Order
B. #12345
C. 12345
D. Error

Solution

  1. Step 1: Understand the pattern "#(\d+)"

    The pattern looks for a '#' followed by digits. The parentheses capture only the digits.
  2. Step 2: Apply REGEXEXTRACT on "Order #12345: shipped"

    The formula extracts the digits after '#', which is "12345".
  3. Final Answer:

    12345 -> Option C
  4. Quick Check:

    Captured digits after # = 12345 [OK]
Hint: Parentheses capture only the part you want extracted [OK]
Common Mistakes:
  • Expecting the # symbol to be included in output
  • Not using parentheses to capture group
  • Confusing REGEXMATCH output with REGEXEXTRACT
4. Why does the formula =REGEXEXTRACT("abc123", "[0-9]") return only "1" instead of "123"? How to fix it?
medium
A. REGEXEXTRACT cannot extract digits; use REGEXMATCH instead
B. Pattern matches only one digit; use "[0-9]+" to match all digits
C. Formula syntax is wrong; remove quotes around pattern
D. The text "abc123" has no digits; change text input

Solution

  1. Step 1: Analyze the pattern "[0-9]"

    This pattern matches exactly one digit character, so REGEXEXTRACT returns only the first digit "1".
  2. Step 2: Fix pattern to match all digits

    Adding + quantifier as "[0-9]+" matches one or more digits, extracting "123".
  3. Final Answer:

    Pattern matches only one digit; use "[0-9]+" to match all digits -> Option B
  4. Quick Check:

    Use + to match multiple characters [OK]
Hint: Add + to match multiple characters, not just one [OK]
Common Mistakes:
  • Using REGEXMATCH instead of REGEXEXTRACT to get text
  • Removing quotes around pattern causing syntax error
  • Assuming pattern matches all digits without +
5. You have a list of emails in column A. Which formula extracts the username (text before @) from cell A2, assuming usernames can have letters, digits, dots, and underscores?
hard
A. =REGEXEXTRACT(A2, "^[\w\.]+")
B. =REGEXEXTRACT(A2, "@.+")
C. =REGEXMATCH(A2, "^[\w\.]+@")
D. =REGEXEXTRACT(A2, "[a-z]+")

Solution

  1. Step 1: Understand the username pattern

    Usernames include letters, digits, dots (.), and underscores (_). The pattern "[\w\.]" matches letters, digits, underscores (\w) and dots (\.).
  2. Step 2: Use REGEXEXTRACT with pattern "^[\w\.]+"

    The ^ anchors to start of text, and + matches one or more allowed characters before @. This extracts the username correctly.
  3. Final Answer:

    =REGEXEXTRACT(A2, "^[\w\.]+") -> Option A
  4. Quick Check:

    Extract username before @ with ^ and character class [OK]
Hint: Use ^ to anchor start and [\w\.] to match username chars [OK]
Common Mistakes:
  • Extracting text after @ instead of before
  • Using REGEXMATCH which returns TRUE/FALSE, not text
  • Not escaping dot or missing underscore in pattern
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard