DEV Community

Cover image for Cheatsheet for the Regex Cheatsheet, Part V: Quantifiers
Analogy | Absence | Example
Analogy | Absence | Example

Posted on

Cheatsheet for the Regex Cheatsheet, Part V: Quantifiers

Intro

I was recently doing a code challenge for a job interview that required me to strip out all nonalphabetic characters. "Ah! I should use Regular Expressions for this!" I thought in triumph, impressed that I even knew what regular expressions were. That fleeting moment of glory faded once I decided to brush up on regular expressions and landed on the encouragingly-named Regular Expressions Cheatsheet. I had no idea how to use it!

So, for people like me, here is a Cheatsheet for the Regular Expressions Cheatsheet, Part V: Quantifiers

Alt Text

What's an Quantifier?

A quantifier finds a sequence of characters to match. It also can be used to find a sequence of expressions to match, but I'm gonna keep it simple here and focus on sequences of characters.

Anatomy of a regular expression

  1. Forward slashes go on either end like so: /something/
  2. Add g for "global" at the end to find every instance, like so: /something/g
  3. Add m to "multi line" to the beginning/end of each line, not just the beginning/end of each string, like /something/g or /something/gm

Quantifiers

* 0 or more instances of a character
  • * is used in /ro*ar/ to find the following: The lion said roar rooar roooar roooooooar!
  • Example on regex101.com
  • Example in Javascript:
let sentence = "The lion said roar rooar roooar roooooooar!";
let regex = /ro*ar/;
let found = sentence.match(regex);
console.log(found); // [
  'roar',
  index: 14,
  input: 'The lion said roar rooar roooar roooooooar!',
  groups: undefined
]
Enter fullscreen mode Exit fullscreen mode

+ 1 or more instances of a character
  • + is used in /ro+ar/ to find the following: The lion said roar rooar roooar roooooooar!
  • Example on regex101.com
  • Example in Javascript:
let sentence = "The lion said roar rooar roooar roooooooar!";
let regex = /ro+ar/;
let found = sentence.match(regex);
console.log(found); // [
  'roar',
  index: 14,
  input: 'The lion said roar rooar roooar roooooooar!',
  groups: undefined
]
Enter fullscreen mode Exit fullscreen mode

? 0 or 1 instance of a character
  • ? is used in /ro?ar/ to find the following: The lion said roar rooar roooar roooooooar!
  • Example on regex101.com
  • Example in Javascript:
let sentence = "The lion said roar rooar roooar roooooooar!";
let regex = /ro?ar/;
let found = sentence.match(regex);
console.log(found); // [
  'roar',
  index: 14,
  input: 'The lion said roar rooar roooar roooooooar!',
  groups: undefined
]
Enter fullscreen mode Exit fullscreen mode

{N} N instances of a character
  • {3} is used in /ro{3}ar/ to find the following: The lion said roar rooar roooar roooooooar!
  • Example on regex101.com
  • Example in Javascript:
let sentence = "The lion said roar rooar roooar roooooooar!";
let regex = /ro{3}ar/;
let found = sentence.match(regex);
console.log(found); // [
  'roooar',
  index: 25,
  input: 'The lion said roar rooar roooar roooooooar!',
  groups: undefined
]
Enter fullscreen mode Exit fullscreen mode

{N,} At least N instances of a character
  • {3,} is used in /ro{3,}ar/ to find the following: The lion said roar rooar roooar roooooooar!
  • Example on regex101.com
  • Example in Javascript:
let sentence = "The lion said roar rooar roooar roooooooar!";
let regex = /ro{3,}ar/;
let found = sentence.match(regex);
console.log(found); // [
  'roooar',
  index: 25,
  input: 'The lion said roar rooar roooar roooooooar!',
  groups: undefined
]
Enter fullscreen mode Exit fullscreen mode

{N,M} Between N and M instances of a character
  • {2,4} is used in /ro{2,4}ar/ to find the following: The lion said roar rooar roooar roooooooar!
  • Example on regex101.com
  • Example in Javascript:
let sentence = "The lion said roar rooar roooar roooooooar!";
let regex = /ro{2,4}ar/;
let found = sentence.match(regex);
console.log(found); // [
  'rooar',
  index: 19,
  input: 'The lion said roar rooar roooar roooooooar!',
  groups: undefined
]
Enter fullscreen mode Exit fullscreen mode

Top comments (0)