Losing clicks to competitors? Find out exactly why, and what to fix first.

Show me why
Skip to content

SEO Audits

Search Console Regex Filters: 12 Practical Examples

Add saadrazaseo.com as a preferred source on Google

No pressure and no sales script. Just honest answers.

Search Console regex filters let you match queries or pages by pattern instead of by a fixed phrase. Choose the custom regex option on a query or page filter, write an RE2 expression, and pick “Matches regex” or “Doesn’t match regex”. They are how you split brand from non-brand queries, isolate questions and long queries, and filter by URL folder.

Patterns matter because clicks are not spread evenly: Backlinko’s analysis of about 4 million Google search results found that the number one organic result has an average click through rate of 27.6% and is ten times more likely to get a click than the result in position ten, so grouping queries by intent shows where you are leaving clicks behind.

How regex filters work in Search Console

Search Console’s standard filters can only do “contains” or “does not contain”. That is fine for one word, and hopeless for questions like “show me every query that starts with a question word” or “exclude all spellings of my brand”. Regular expressions solve that. According to Google’s advanced filtering and comparison help page, the performance report accepts custom regular expressions written in RE2 syntax, with a choice between “Matches regex” and “Doesn’t match regex”.

You can apply a regex to the Query filter or the Page filter in the performance report. The same pattern thinking applies to both; only the text being matched differs. For the report itself, see my guide to the Search Console performance report.

The RE2 basics you need

You do not need to learn regular expressions in full. These pieces cover nearly everything in this article.

SymbolMeaningExample
|ORcost|price matches either word
( )Groups alternatives(how|what|why)
^Start of the text^how matches queries beginning with “how”
$End of the text/$ matches URLs ending in a slash
.Any single charactercolo.r
* and +Zero or more, one or more of the previous item[^ ]+ is one or more non-space characters
[ ]A set of characters[0-9] matches any digit
d, sA digit, a whitespace characterdd is two digits
Escape a special character. is a literal dot, ? a literal question mark

Three behaviours from Google’s documentation will save you hours of confusion:

  • Matching is partial by default. Your expression can match anywhere in the text. If you want an exact start or end, you must use ^ and $.
  • Matching is case-insensitive by default. To make it case-sensitive, begin the expression with (?-i). Google’s example is that (?-i)AAA matches a URL containing AAA but not one containing aaa.
  • Multiple values go in one expression separated by |. Wrap the group in brackets when it is part of a longer pattern.

In the examples below, replace yourbrand and example.com with your own details. I have not tied these to any real site; they are templates to adapt.

Rather have an expert do this for you?

Hand it over and get back to running your business.

Hand it over to me

Twelve practical examples

Each pattern below is a starting point. Test it by checking that the rows returned look right before you trust any totals.

#GoalFilterExpression and mode
1Brand queries, including spelling variantsQueryyourbrand|your brand|yourbrnd (Matches)
2Non-brand queriesQueryThe same expression, set to Doesn’t match
3Question queriesQuery^(who|what|why|how|when|where|which|can|does|is|are|should) (Matches, note the trailing space)
4Long queries, five words or moreQuery([^ ]+ ){4,}[^ ]+ (Matches)
5One-word queriesQuery^[^ ]+$ (Matches)
6Commercial intent modifiersQueryprice|cost|buy|quote|hire|cheap|near me (Matches)
7Comparison and alternative queriesQuery vs |versus|alternative (Matches)
8One site sectionPage^https://example.com/blog/ (Matches)
9Several folders at oncePage/(services|locations)/ (Matches)
10Exclude parameter and pagination URLsPage?|/page/[0-9]+ (Doesn’t match)
11Homepage onlyPage^https://example.com/$ (Matches)
12URLs containing capital lettersPage(?-i)[A-Z] (Matches)

What each example is good for

Brand and non-brand (examples 1 and 2)

This is the pair I use most. Brand queries reflect demand you already have; non-brand queries show how well your content attracts people who did not know you. Put every variant of your name in one expression, including common misspellings and the name without spaces. Then flip to “Doesn’t match regex” for the non-brand view. Remember that brand variants you forgot will leak into your non-brand numbers, so check the top rows of the non-brand list for your own name.

Questions and long queries (examples 3, 4 and 5)

Question queries tell you what people want explained, and they map neatly to FAQ sections and how-to content. Long queries are typically more specific and often come from people closer to a decision, while one-word queries are usually broad and competitive. Comparing these groups across periods tells you whether you are gaining ground in specific, informational searches or only broad ones.

For turning those query lists into quick wins, pair them with my guide to striking-distance keywords: filter to questions, then sort by impressions and look for average positions just beyond the first page.

Commercial and comparison modifiers (examples 6 and 7)

Searches containing price, cost, hire or quote words often signal buying intent. Group them and check which of your pages receives that traffic. If it lands on a blog post when a service page should answer it, you have an internal linking or page targeting problem worth fixing. Remember that matching is partial, so cost will also match words that merely contain it; review the rows.

Folders, parameters and the homepage (examples 8 to 11)

Page filters let you treat sections of a site as separate properties. The anchored pattern in example 8 limits results to one folder. Example 9 uses brackets and the OR symbol to compare several folders together. Example 10 excludes pages with parameters or pagination, which is helpful when query strings clutter your table. Escape the dot and question mark with a backslash, because unescaped they carry special meanings in a pattern. Example 11 anchors both ends so only the exact homepage is included.

Case-sensitive checks (example 12)

Since matching is case-insensitive by default, the (?-i) prefix is how you test for uppercase letters. Uppercase characters in URLs are a common cause of duplicate versions, so a quick regex check can reveal them. Only URLs that already receive impressions will show up, so treat it as a clue, not a full audit.

Combining regex with comparisons and other filters

Regex filters become far more useful when combined with other filters. You can apply a query regex and a page regex at the same time, and add a country, device or search type filter on top. Once a filter set is in place, add a date comparison to see change over time. Google’s documentation notes that you can have only one comparison at a time, and that adding a new comparison replaces the existing one, so decide which question matters most before you start. For period comparisons, weekly or monthly granularity helps by smoothing the day-of-week pattern.

Here is a combination I find revealing. Set the query filter to non-brand questions (example 3 plus example 2 logic), set the page filter to your blog folder (example 8), then compare the last 28 days with the previous 28. That one view tells you whether your informational content is growing its non-brand audience.

Mistakes that make regex results wrong

  1. Forgetting that matching is partial. A pattern like how will match “show”, “shower” and “know how”. Anchor with ^ or add spaces where precision matters.
  2. Not escaping dots and question marks. An unescaped dot matches any character, so example.com also matches strange variations. Use ..
  3. Copying patterns from other tools. The syntax is RE2, which does not support every feature of other regex flavours. If a pattern from a tutorial is rejected, simplify it.
  4. Forgetting your own spelling variants. Brand filters are only as complete as your list. Check the largest non-brand queries for misspelt versions of your name.
  5. Trusting totals without checking rows. After applying a filter, scan the table. If unrelated queries appear, the pattern is too loose.
  6. Ignoring data limits. The tables show up to 1,000 rows and omit rare queries, so a filtered view can hide long-tail detail. Google explains these limits in its data coverage notes, which I summarise in my performance report guide.

Once you have found the filter sets you use every month, build them into a report others can read; my walkthrough of an SEO dashboard in Looker Studio covers how to carry brand and non-brand splits into a shared view. If you are still deciding which numbers deserve attention at all, start with the SEO KPIs that matter.

Where this fits in an audit

Regex filtering is a working skill rather than a one-off task. In an audit, I use it to separate brand from non-brand demand, map question queries to content gaps and check whether the right section of the site earns the right type of search. These are the kinds of checks described in what a professional SEO audit includes.

Questions people ask about Search Console regex

Does Search Console support regex?

Yes. In the performance report, the query and page filters include a custom regex option using RE2 syntax, with “Matches regex” and “Doesn’t match regex” modes.

Is Search Console regex case-sensitive?

By default it is case-insensitive. To make an expression case-sensitive, start it with (?-i). Google’s help page gives the example that (?-i)AAA matches a URL containing AAA but not one containing aaa.

How do I filter out brand queries?

Create a query filter with every variant of your brand name separated by |, then choose “Doesn’t match regex”. Check the top rows afterwards for any variant you missed.

Why does my pattern match too much?

Matching is partial by default, so a short pattern can match inside longer words and URLs. Add ^ and $ anchors, include spaces, or escape special characters such as dots.

If you would rather have the filters set up and interpreted for you, they are part of the review I do within my SEO audit services. Request a free audit and tell me what you want to learn from your Search Console data.

More in this series (SEO measurement and Search Console): start with What a Professional SEO Audit Includes (and Red Flags), then explore:

Rather have an expert do this for you?

Tell me about your website and goals, and I will reply with a free first review.

Your details are only used to reply to your request. No spam.

Grow my trafficCall