
How do I get an SEO job with no experience?
If you want a job in SEO, it's possible with some hard work and a little ingenuity. You don't always need agency experience.
A guide to regular expressions for regular SEOs
Top
By Myriam Jessier•This is a survival manual for those who are scared of regular expressions. Copy/paste your way to glorious keyword analysis and reporting with us!

A regular expression is a sequence of characters that forms a search pattern. It can be used to find patterns in text, such as particular words or phrases, or to extract information from text. It is very useful if you work in marketing but can sometimes feel like you are trying to write hieroglyphics. This is why I did an entire conference on this topic at BrightonSEO. It was well received so I hope this article will be as well.

A regular expression (often abbreviated as regex) is a sequence of characters that define a search pattern, typically used for string matching or parsing. They are used by many programming languages and text-editing programs to perform search-and-replace operations, validate input, and perform other tasks.
Lazy and greedy regex patterns are two different approaches to using regular expressions to match or extract text from a given string. It’s important to understand the difference between these two approaches in order to understand why they return different results.
The idea behind greedy regular expressions is that it will try to match as much of the string as possible in one go. This means it will look for the longest possible pattern match in the string. For example, let’s say you have a string ‘abcdefg’ and you are searching for the pattern ‘abc’. A greedy regular expression pattern would first look for the longest possible match of ‘abc’, which in this case would be ‘abcdefg’. It would then move onto the next match, which would be ‘abcde’. This process would continue until it had found all of the possible matches for ‘abc’ in the string.
Lazy regular expressions are named this way because they take the least amount of effort to match, meaning they don’t try to match as much as possible in the string. They are used to match the smallest possible pattern that can match the string. For example, if you wanted to match the word “red” in a string, you could use a lazy pattern like “r.*?d”. The “.*?” part of the pattern is known as a lazy quantifier, which matches the smallest amount of text possible. In this case, it will match the first occurrence of “r” followed by any number of characters and then “d”.
Here’s the best way to illustrate the difference between the two: The greedy h.+l matches ‘hell’ in ‘hello’ or in ‘hellscape’ but the lazy h.+?l matches ‘hel’.
Here’s the main one: you get more than what you expected because your filter doesn’t work as intended. If you are using a regex like .* that contains a greedy quantifier, you may end up matching more than you want. The solution to this is to use a regex like .*? (aka the lazy one). If you want to know more about fixing your advanced filters in Screaming Frog, you can read their article : SEO Spider Regex FAQ
Regular expressions are one of the most powerful tools in the SEO toolbox. They are very useful for any SEO specialist trying to identify patterns (like URL patterns) in large amounts of data. No need to be a pro to use them. Here’s a Google Sheet Script To Convert Plain English Descriptions Into Regex Statements. Here’s how to use it:

In Google Analytics, it’s magical to find specific patterns. You can use it to find all pages within a subdirectory, all pages with a query string, deal with IP addresses, etc. Here are things most people don’t know about using regular expression in GA:
One of the most useful features offered by Google Search Console is the ability to filter search results using regular expressions. Regular expressions allow you to specify complex patterns for matching strings of text. This can be used to quickly narrow things down in the queries report.
Remember, you need to select the REGEX option in the dropdown menu!
here’s a great regular expression to help you find long-tail queries in Google Search Console. You can simply copy it as it to get started. RegEx to match any query longer than 75 characters: ^[\w\W\s\S]{75,}$
Replace 75 in the regular expression with any other character length that suits your needs.
Content injections typically involve an attacker injecting malicious code into an application, website, or other system. Content injections can also be used to create fake content, such as malicious ads, links, and images. Use the following regex to find spammy content type issues in GSC:
.*viagra.*|.*cialis.*| .*levitra.*|.*drugs.*|.*porn.*|.*www.\*www.\*
Feel free to replace any keyword phrase by something else or add more variables to it. We just showed you the most common words usually tied to content injection issues. We did notice Shopify had some issues with “FIFA” content injection so we would recommend adding that to the list if you are checking this type of site.
.*(best|top|alternate|dupe|alternative|vs|versus|review*).*
Once again, you can tweak this regular expression by replacing any work you see in between two pipes.
^(clean|broken|wash off|shattered|polish|problem|treat|doesn’t work|replace|doesn’t start|scratch|repair|manual|fix|protect|renew|coverage|warranty)[” “]
This regular expression was originally published in this Tweet by Christopher Hofman.
Filter out brand terms to see the generic keywords you rank for. Here’s an example for the brand H&M:
hm|h&m|hennes|mauritz
This tip comes courtesy of Daniel Foley Carter on LinkedIn
Once that is done, compare both sheets - if your site has URL variables - then on both sheets - SELECT ALL in Google Sheets, click DATA > Create a Filter, then, on COLUMN A for URL apply a filter - Text Not Contains and specify ? If both sheets have URLS then you have inconsistent paths in the index.

Some characters have a special meaning. The most common special characters are the asterisk (*), which is used to match any character; the plus sign (+), which is used to match one or more characters; the question mark (?), which is used to match zero or one character; and the parentheses (), which are used to group patterns together.
You can use this guide to figure out things:
. A wildcard match for any single character.
.* A match for zero or more characters.
.+ A match for one or more characters.
d A match for any single numerical digit 0-9.
? The question mark is inserted after a character to make it an optional part of the expression.
| A vertical line or ‘pipe’ character indicates an ‘or’ function.
^ Used to denote the start of a string.
$ Used to denote the end of a string.
( ) Used to nest a sub-expression.
\ Inserted before an operator or special character to ‘escape’ it.
Use the backslash (\) to escape regex metacharacters when you need those characters to be interpreted literally. For example, the dot (punctuation mark used in regular expressions) in an IP address must be escaped with a backslash (\.) so that it isn’t interpreted as a wildcard.
You can also use regex patterns when analyzing server log files to segment crawled URLs. Regular expressions allow you to filter based on complex custom segments.
Don’t forget to test your regex, just to make sure it works perfectly. Use https://regex101.com/ to see your creations come to life.
Regex For SEO: A Guide To Regular Expressions (With Use Cases)
A Marketer’s Guide to Using Regex in Search Console [Video] - Annielytics.com
Don’t Be Tongue-Tied: Learn RegEx Patterns for SEO
Beginner Guide To Regex For SEO - JC Chouinard
Regular Expressions (RegEx) in Google Search Console - JC Chouinard
This article is written because I gave a talk at BrightonSEO on the topic. Myriam Jessier & Chloe Smith – IRREGULAR REGEX FOR REGULAR PEOPLE

About the author
Myriam Jessier
SEO & GEO Consultant, Advisor to Pragm
Myriam Jessier co-founded Pragm and stepped back from the day-to-day team a few years ago. They now act as Pragm's GEO consultant and SEO strategist, advising the agency from outside.