DEV Community

Cover image for Regex Cheatsheet 101: Your Ticket to Regex Mastery
Zeeshan
Zeeshan

Posted on β€’ Edited on β€’ Originally published at acidop.codes

15 1 1 1 1

Regex Cheatsheet 101: Your Ticket to Regex Mastery

Regex Cheatsheet 101

Are you tired of trying to make sense of regex? Don't worry, you're not alone! Regex is like a secret language that only a select few seem to understand.

We've got you covered with our Regex Cheatsheet 101!

NOTE: This blog is visually unappealing due to the formatting of dev so I am also linking my blog where it looks better.

Anchors

  • ^: Start of string or line. Think of it as a hat for your text. It marks the beginning of a line.
  • \A: Start of string. A fancier hat that marks the beginning of a string.
  • $: End of string or line. The opposite of ^, it marks the end of a line.
  • \Z: End of string. The fancier cousin of $ that marks the end of a string.
  • \b: Word boundary. It's like a little force field around a word that tells you where it begins and ends.
  • \B: Not word boundary. The opposite of \b.
  • \<: Start of word. Similar to ^ and \A, but specifically for words.
  • \>: End of word. The opposite of \<.

Character Classes

  • \c: Control character. A character that controls your text. Watch out, it's in charge!
  • \s: Whitespace. Spaces, tabs, and other invisible characters that make your text look nice and neat.
  • \S: Not whitespace. Anything that's not a space, tab, or other invisible character.
  • \d: Digit. The numbers 0-9.
  • \D: Not digit. Anything that's not a number.
  • \w: Word. Letters, numbers, and underscores.
  • \W: Not word. Anything that's not a letter, number, or underscore.
  • \x: Hexadecimal digit. A fancy name for numbers and letters (A-F, a-f) that are used in hex code.
  • \O: Octal digit. Numbers in base 8. Fun fact: octopuses are also good with digits!

Quantifiers

  • *: 0 or more. Like a buffet that you can go back to as many times as you want.
  • +: 1 or more. Like a VIP lounge that only lets in the cool kids who have something to offer.
  • ?: 0 or 1 (optional). Like a checkbox that you can check or leave empty.
  • {3}: Exactly 3. The perfect number of times to do something.
  • {3,}: 3 or more. Like a marathon that never seems to end.
  • {2,5}: 2, 3, 4 or 5. Like a multiple-choice question with several correct answers.

Special Characters

  • \n: New line. The line break that you use when you want to start a new paragraph.
  • \r: Carriage return. A fancy name for the Enter key.
  • \t: Tab. The button that you press when you want to indent your text.
  • \v: Vertical tab. A rarely used character that you probably won't need to worry about.
  • \f: Form feed. A character that's mostly used in old printers. Don't worry about it.

Assertions

  • ?=: Lookahead assertion. Like a crystal ball that tells you what's coming up next in your text.
  • ?!: Negative lookahead. The opposite of ?=. It tells you what's not coming up next in your text.
  • ?<=: Lookbehind assertion. Like a time machine that takes you back to the beginning of a word or phrase.
  • ?<!: Negative lookbehind. The opposite of ?<=. It tells you what's not behind you in your text.

Groups and Capture

  • (): Group. A way to group parts of your regex together.
  • (?:): Non-capturing group. Like a regular group, but it doesn't create a capture group.
  • \n: Backreference. A way to reference a previous capture group.
  • (?P<name>): Named capture group. A way to give a capture group a name.

Alternation

  • |: Alternation. A way to match one thing or another. It's like a fork in the road.
  • []: Character set. A way to match one character out of a set of characters.
  • [^]: Negated character set. The opposite of []. Matches anything not in the set.

Flags

  • i: Case-insensitive. Matches both upper and lowercase letters.
  • m: Multiline. Allows ^ and $ to match the beginning and end of lines.
  • s: Dot-all. Allows . to match newline characters.
  • x: Verbose. Allows you to write your regex in multiple lines and add comments.

Family Friendly Examples

  • Match the first word of a sentence:

^\w+

  • Match the whole text except for the last line:

^.*\n.*\n.*$

  • Find all the words that contain the letter "z":

\b\w*z\w*\b

  • Find all the words that do not contain the letter "e":

\b[^e\s]+\b

  • Match any line that starts with a digit:

^\d.*$

  • Match any line that ends with a punctuation mark:

^.*\p{P}$

  • Find all the phone numbers in a text:

(\d{3})-(\d{3})-(\d{4})

  • Find all the email addresses in a text:

\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b

  • Match any line that starts with the word "Lorem":

^\bLorem\b.*$

  • Match any line that ends with a three-digit number:

^.*\b\d{3}$

  • Match any line that contains the word "regex" and the word "cheat":

^(?=.*regex)(?=.*cheat).*$

  • Match any line that does not contain the word "Python":

^(?!.*Python).*$

  • Match any line that starts and ends with the same word:

^\b(\w+)\b.*\b\1\b$

  • Match any line that has more than 10 characters:

^.{11,}$

  • Match any line that has exactly 3 digits:

^.*\b\d{3}\b.*$

  • Match any line that has a word with 2 or more consecutive vowels:

^.*\b[aeiou]{2}\w*\b.*$

  • Match any line that has a word with at least 3 consonants in a row:

^.*\b[^aeiou]{3}\w*\b.*$

  • Match any line that has a word that starts with "c" and ends with "t":

^.*\bc\w*t\b.*$

Originally published on my blog at acidop.codes

AWS GenAI LIVE image

How is generative AI increasing efficiency?

Join AWS GenAI LIVE! to find out how gen AI is reshaping productivity, streamlining processes, and driving innovation.

Learn more

Top comments (2)

Collapse
 
jonrandy profile image
Jon Randy πŸŽ–οΈ β€’

Best regex cheatsheet I ever used:

RegEx Cheatsheet

Collapse
 
devmehta profile image
Dev Mehta β€’

ChatGPT generated titleπŸ˜‚πŸ˜‚ I know because I tried it for generating titles for my blogs :)

Postmark Image

Speedy emails, satisfied customers

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up

πŸ‘‹ Kindness is contagious

Please leave a ❀️ or a friendly comment on this post if you found it helpful!

Okay