=FormulaProof
1

FormulaProof · Evidence

Execution log

Sixty regular expressions, copied from Google Sheets tutorials, run in a real sheet

Ran
Engine
Google Sheets (live, via Sheets API v4)
Locale
en_US
Host
Windows_NT 10.0.26200 · Node v24.15.0
Result
73 of 73 as expected
Cell Formula What Google returned
B1 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","this(.*)that")

REGEXEXTRACT: this(.*)that

Published at https://www.statology.org/google-sheets-extract-text-between-two-characters/ — "Extract text between two literal string delimiters"

TRUE
B2 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","ran(.*)miles")

REGEXEXTRACT: ran(.*)miles

Published at https://www.statology.org/google-sheets-extract-text-between-two-characters/ — "Capture content between two specific words"

TRUE
B3 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","\((.*)\)")

REGEXEXTRACT: \((.*)\)

Published at https://www.statology.org/google-sheets-extract-text-between-two-characters/ — "Extract text enclosed within parentheses"

TRUE
B4 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","\*(.*)\*")

REGEXEXTRACT: \*(.*)\*

Published at https://www.statology.org/google-sheets-extract-text-between-two-characters/ — "Extract text between asterisk characters"

TRUE
B5 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","(\w*)\s(\d+)")

REGEXEXTRACT: (\w*)\s(\d+)

Published at https://officewheel.com/google-sheets-regexextract-between-two-characters/ — "Return both a word and the following digits as two capture groups"

TRUE
B6 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","(\w*)")

REGEXEXTRACT: (\w*)

Published at https://officewheel.com/google-sheets-regexextract-between-two-characters/ — "Pull out the first word"

TRUE
B7 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","(.+)")

REGEXEXTRACT: (.+)

Published at https://officewheel.com/google-sheets-regexextract-between-two-characters/ — "Match and capture all content of a cell"

TRUE
B8 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","[0-9]+")

REGEXEXTRACT: [0-9]+

Published at https://officewheel.com/google-sheets-regexextract-between-two-characters/ — "Extract one or more digits"

TRUE
B9 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","[A-Z]")

REGEXEXTRACT: [A-Z]

Published at https://officewheel.com/google-sheets-regexextract-between-two-characters/ — "Find the first capital letter"

TRUE
B10 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","[a-z]")

REGEXEXTRACT: [a-z]

Published at https://officewheel.com/google-sheets-regexextract-between-two-characters/ — "Find the first lowercase letter"

TRUE
B11 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$")

REGEXMATCH: ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$

Published at https://www.finoptimal.com/resources/regex-extract-in-google-sheets-a-power-users-guide-to-string-manipulation — "Validate that a string is a well-formed email address"

FALSE
B12 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","^\(\d{3}\) \d{3}-\d{4}$")

REGEXMATCH: ^\(\d{3}\) \d{3}-\d{4}$

Published at https://www.finoptimal.com/resources/regex-extract-in-google-sheets-a-power-users-guide-to-string-manipulation — "Validate a US phone number in (XXX) XXX-XXXX format"

FALSE
B13 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}")

REGEXEXTRACT: [A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}

Published at https://www.sheetfx.net/blog/clean-names-and-emails-regexextract-split-google-sheets — "Extract a standard email address from within a text string"

FALSE
B14 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","([^@]+)")

REGEXEXTRACT: ([^@]+)

Published at https://www.formulabot.com/google-sheets/regexextract-function — "Extract the username portion (before @) from an email address"

TRUE
B15 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","(.+)@")

REGEXEXTRACT: (.+)@

Published at https://productivityspot.com/regexextract-google-sheets/ — "Extract the content before the @ symbol (email username)"

TRUE
B16 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","@(.+)")

REGEXEXTRACT: @(.+)

Published at https://productivityspot.com/regexextract-google-sheets/ — "Extract the domain part (after @) from an email address"

TRUE
B17 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","@(.+)$")

REGEXEXTRACT: @(.+)$

Published at https://www.owox.com/blog/articles/regex-functions-google-sheets — "Extract the domain name after @ from an email address"

TRUE
B18 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith",">(.+)<")

REGEXEXTRACT: >(.+)<

Published at https://productivityspot.com/regexextract-google-sheets/ — "Extract the text enclosed between a > and a < character"

TRUE
B19 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","(http|https)://[a-zA-Z0-9./?=_-]+")

REGEXEXTRACT: (http|https)://[a-zA-Z0-9./?=_-]+

Published at https://www.bardeen.ai/answers/how-to-extract-urls-and-links-from-google-sheets — "Extract an HTTP/HTTPS URL from a cell of text"

TRUE
B20 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","(\w+)(?:, )(\w+)")

REGEXREPLACE: (\w+)(?:, )(\w+)

Published at https://www.benlcollins.com/spreadsheets/google-sheets-regex-formulas/ — "Reorder 'Surname, First' to 'First Surname' by swapping two capture groups"

TRUE
B21 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","\d+")

REGEXREPLACE: \d+

Published at https://www.benlcollins.com/spreadsheets/google-sheets-regex-formulas/ — "Replace every run of digits with the literal 2021"

TRUE
B22 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","(\d{2})-(\d{2})-(\d{4})")

REGEXREPLACE: (\d{2})-(\d{2})-(\d{4})

Published at https://www.thebricks.com/resources/how-to-use-regexreplace-in-google-sheets-a-step-by-step-guide — "Reformat MM-DD-YYYY date to YYYY-MM-DD by rearranging capture groups"

FALSE
B23 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","dog")

REGEXREPLACE: dog

Published at https://www.thebricks.com/resources/how-to-use-regexreplace-in-google-sheets-a-step-by-step-guide — "Replace the word dog with cat"

FALSE
B24 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","[^0-9]")

REGEXREPLACE: [^0-9]

Published at https://www.thebricks.com/resources/how-to-use-regexreplace-in-google-sheets-a-step-by-step-guide — "Strip all non-digit characters from a phone number"

TRUE
B25 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith"," .*")

REGEXREPLACE: .*

Published at https://www.thebricks.com/resources/how-to-use-regexreplace-in-google-sheets-a-step-by-step-guide — "Keep only the first name by deleting everything from the first space onward"

TRUE
B26 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","^https?:\/\/")

REGEXREPLACE: ^https?:\/\/

Published at https://www.thebricks.com/resources/how-to-use-regexreplace-in-google-sheets-a-step-by-step-guide — "Remove the http:// or https:// protocol prefix from a URL"

FALSE
B27 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","S.*d")

REGEXREPLACE: S.*d

Published at https://support.google.com/docs/answer/3098245?hl=en — "Replace the substring from S to the last d with the literal Bed"

FALSE
B28 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","[^\d]")

REGEXREPLACE: [^\d]

Published at https://smoothsheet.com/blog/how-to/google-sheets-regex/ — "Remove all non-digit characters from a phone number"

TRUE
B29 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","(\d{2})/(\d{2})/(\d{4})")

REGEXREPLACE: (\d{2})/(\d{2})/(\d{4})

Published at https://smoothsheet.com/blog/how-to/google-sheets-regex/ — "Convert MM/DD/YYYY date to YYYY-MM-DD via capture-group rearrangement"

TRUE
B30 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","<[^>]+>")

REGEXREPLACE: <[^>]+>

Published at https://smoothsheet.com/blog/how-to/google-sheets-regex/ — "Strip all HTML tags from text"

TRUE
B31 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","^(\w+)\s(\w+)$")

REGEXREPLACE: ^(\w+)\s(\w+)$

Published at https://unlimitedsheets.com/blog/regex — "Reorder 'First Last' into 'Last, First' by swapping capture groups"

FALSE
B32 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","(?i)([a-z0-9._%+\-]+)@")

REGEXREPLACE: (?i)([a-z0-9._%+\-]+)@

Published at https://unlimitedsheets.com/blog/regex — "Mask the local part of an email address before the @ sign"

TRUE
B33 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","colour")

REGEXREPLACE: colour

Published at https://unlimitedsheets.com/blog/regex — "Nest REGEXREPLACE to normalize British spellings colour/favour to American"

FALSE
B34 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","\d[\d,.]*")

REGEXEXTRACT: \d[\d,.]*

Published at https://www.benlcollins.com/spreadsheets/google-sheets-regex-formulas/ — "Extract a number that may contain commas or decimals and convert to numeric"

TRUE
B35 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","\b\d{3}-\d{3}-\d{4}\b")

REGEXMATCH: \b\d{3}-\d{3}-\d{4}\b

Published at https://www.benlcollins.com/spreadsheets/google-sheets-regex-formulas/ — "Validate a US phone number in XXX-XXX-XXXX format"

FALSE
B36 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","\b[0-9]{4}\b")

REGEXMATCH: \b[0-9]{4}\b

Published at https://www.benlcollins.com/spreadsheets/google-sheets-regex-formulas/ — "Validate a 4-digit number (e.g. a year/vintage) with word boundaries"

TRUE
B37 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","^[a-zA-Z0-9._%+\-]+@[a-zA-Z0-9.\-]+\.[a-zA-Z]{2,}$")

REGEXMATCH: ^[a-zA-Z0-9._%+\-]+@[a-zA-Z0-9.\-]+\.[a-zA-Z]{2,}$

Published at https://unlimitedsheets.com/blog/regex — "Validate whether a cell looks like a valid email address"

FALSE
B38 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","^\d{10}$")

REGEXMATCH: ^\d{10}$

Published at https://unlimitedsheets.com/blog/regex — "Validate a phone number as exactly 10 digits"

FALSE
B39 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","^https?://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,}(/.*)?$")

REGEXMATCH: ^https?://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,}(/.*)?$

Published at https://unlimitedsheets.com/blog/regex — "Validate that a URL starts with http/https, has a valid domain and optional path"

FALSE
B40 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","\d{4}-\d{3}-\d{4}")

REGEXMATCH: \d{4}-\d{3}-\d{4}

Published at https://blog.bettersheets.co/philippines-phone-number-validation-use-of-regexmatch-in-google-sheets/ — "Validate a Philippine phone number in the XXXX-XXX-XXXX format"

FALSE
B41 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","[0-9]{5}")

REGEXEXTRACT: [0-9]{5}

Published at https://www.coursera.org/articles/regex-match-google-sheets — "Extract/match text of exactly five digits (ZIP code)"

FALSE
B42 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","^[a-z]+$")

REGEXMATCH: ^[a-z]+$

Published at https://www.usemage.com/google-sheets-how-to/how-to-use-regular-expressions-in-google-sheets — "Check if a value contains only lowercase letters"

FALSE
B43 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","[^\x00-\x7F]")

REGEXREPLACE: [^\x00-\x7F]

Published at https://sheetsformarketers.com/1text-formatting-in-google-sheets/ — "Remove all non-ASCII (non-English/accented/foreign) characters from a string"

FALSE
B44 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","[^0-9A-Za-z]")

REGEXREPLACE: [^0-9A-Za-z]

Published at https://sheetsformarketers.com/1text-formatting-in-google-sheets/ — "Remove everything that is not an English letter or digit"

TRUE
B45 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","[^\x20-\x7E]")

REGEXREPLACE: [^\x20-\x7E]

Published at https://sheetsformarketers.com/1text-formatting-in-google-sheets/ — "Strip emojis and non-printable/non-ASCII characters, keeping printable ASCII"

FALSE
B46 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","[^A-Za-z]+")

REGEXREPLACE: [^A-Za-z]+

Published at https://scales.arabpsychology.com/stats/how-to-remove-special-characters-in-google-sheets/ — "Keep only English alphabet letters, removing numbers, symbols and non-English characters"

TRUE
B47 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","[^0-9a-zA-Z]")

REGEXREPLACE: [^0-9a-zA-Z]

Published at https://scales.arabpsychology.com/stats/how-to-remove-special-characters-in-google-sheets/ — "Keep English letters and digits, remove all special/non-English characters"

TRUE
B48 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","[!$%]")

REGEXREPLACE: [!$%]

Published at https://scales.arabpsychology.com/stats/how-to-remove-special-characters-in-google-sheets/ — "Remove only the specific symbols exclamation point, dollar sign and percent sign"

FALSE
B49 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","[áàâäãå]")

REGEXREPLACE: [áàâäãå]

Published at https://en.digitalmalayali.in/remove-accents-in-google-sheets-functions-regex-script/ — "Replace accented a-vowels with plain 'a'"

FALSE
B50 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","[éèêë]")

REGEXREPLACE: [éèêë]

Published at https://en.digitalmalayali.in/remove-accents-in-google-sheets-functions-regex-script/ — "Replace accented e-vowels with plain 'e'"

FALSE
B51 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","[0-9]")

REGEXMATCH: [0-9]

Published at https://www.benlcollins.com/spreadsheets/google-sheets-regex-formulas/ — "Return TRUE if the string contains any digit"

TRUE
B52 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","\d+")

REGEXEXTRACT: \d+

Published at https://www.benlcollins.com/spreadsheets/google-sheets-regex-formulas/ — "Extract the first sequence of digits from a string"

TRUE
B53 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","[\d,.]+")

REGEXEXTRACT: [\d,.]+

Published at https://www.benlcollins.com/spreadsheets/google-sheets-regex-formulas/ — "Extract numbers that may include thousand separators or decimals"

TRUE
B54 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","\d{3}-\d{3}-\d{4}")

REGEXMATCH: \d{3}-\d{3}-\d{4}

Published at https://www.benlcollins.com/spreadsheets/google-sheets-regex-formulas/ — "Validate a phone number in ###-###-#### form using quantifiers"

FALSE
B55 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","fun|terrifying")

REGEXEXTRACT: fun|terrifying

Published at https://sheets-pratique.com/en/functions/regexextract — "Extract whichever of two alternative words appears first"

FALSE
B56 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","[A-Z]\d{2}")

REGEXEXTRACT: [A-Z]\d{2}

Published at https://sheets-pratique.com/en/functions/regexextract — "Extract a reference code of one uppercase letter followed by two digits"

FALSE
B57 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","\d*")

REGEXEXTRACT: \d*

Published at https://sheets-pratique.com/en/functions/regexextract — "Extract leading digits until a non-digit character is reached"

TRUE
B58 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","\d*$")

REGEXEXTRACT: \d*$

Published at https://sheets-pratique.com/en/functions/regexextract — "Extract the digits at the end of the text"

TRUE
B59 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","(\d*)-?(\d*)-?(\d*)-?(\d*)")

REGEXEXTRACT: (\d*)-?(\d*)-?(\d*)-?(\d*)

Published at https://sheets-pratique.com/en/functions/regexextract — "Split a hyphen-separated string into separate digit groups"

TRUE
B60 =REGEXMATCH("Order 4821 <b>ran 5 miles</b> john.doe@acme.com https://x.io/y (paren) *star* this Z that 01/02/2026 John, Smith","\d*-(\d*)")

REGEXEXTRACT: \d*-(\d*)

Published at https://sheets-pratique.com/en/functions/regexextract — "Capture the second group of digits after a hyphen"

FALSE
B61 =REGEXMATCH("01/02/2026","^d{2}/d{2}/d{4}$")

published verbatim: backslashes stripped by the page

Exactly as printed at https://coefficient.io/google-sheets-tutorials/regexmatch-in-google-sheets-2

FALSE
B62 =REGEXMATCH("01/02/2026","^\d{2}/\d{2}/\d{4}$")

the same pattern with the backslashes the author meant

What a reader would have to reconstruct to make the published advice work.

TRUE
B63 =REGEXMATCH(“abc”,“b”)

transmission: a formula printed with typographic quotes

Exactly what lands in the cell when you copy a formula from a page that curls its quotes.

#ERROR!
B64 =REGEXMATCH("abc","b")

transmission: the same formula with straight quotes

The control. Identical in every way a person can see.

TRUE
B65 =REGEXMATCH("user@domainXcom","^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}$")

transmission: email pattern as published, backslash gone, against a bad address

The dot lost its backslash and now matches any character. domainXcom has no dot in it.

TRUE
B66 =REGEXMATCH("user@domainXcom","^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$")

transmission: email pattern with the backslash restored, against the same bad address

What the author wrote before the page ate it.

FALSE
B67 =REGEXMATCH("user@domain.com","^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}$")

transmission: email pattern as published, against a real address

It works here, which is why nobody notices.

TRUE
B68 =REGEXREPLACE("bob@acme.com","/(?!^).(?=[^@]+@)/","*")

transmission: a JavaScript regex pasted into Sheets, slashes and all

Verbatim from a reader comment dated 2022-07-27: "Not working… What am I missing?"

#REF!
B69 =REGEXREPLACE("bob@acme.com","(?!^).(?=[^@]+@)","*")

transmission: the same pattern with the JavaScript slashes removed

Removing the delimiters does not save it. The lookaheads are the problem.

#REF!
B70 =REGEXREPLACE("bob@acme.com","^(.)[^@]*","$1***")

transmission: what he wanted, written for RE2

Keep the first character, replace the rest of the local part. No lookaround required.

b***@acme.com
B71 =REGEXMATCH("abc","“abc”")

curly inside the pattern: does it match the plain text

What happens when a reader copies the quote marks along with the pattern into a tester.

FALSE
B72 =REGEXMATCH("“abc”","“abc”")

curly inside the pattern: does it match text that has the curly quotes too

It is a literal character, not a delimiter. It matches itself.

TRUE
B73 =REGEXMATCH("abc","abc")

curly inside the pattern: the straight-quoted control

The pattern the reader meant.

TRUE

Every row above was written into a real Google Sheet and read back through the Sheets API on 2026-07-09. The case file and this log are in the repository, and the build refuses to run if they disagree.

Why this page exists

Anyone can write that lookahead does not work in Google Sheets. It is in Google's documentation, one link away, and a language model will tell you the same thing in a second.

What almost nobody does is run it. So this page is the run. Each formula above was written into a cell through the Sheets API, and the value in the third column is what came back — not what we expected, not what the documentation says, not what a model predicted.

Some rows are marked observed. Those are cases where we did not know the answer beforehand, so we measured instead of asserting. Guessing and then presenting the guess as a finding is exactly the failure mode this site was built to avoid.

If any formula here changes what it does, the log goes stale and the site refuses to build. Tell us if you find one that is wrong before we do.