Guide: Sift through Text with Regular Expressions

Regular expressions are used to find certain words or patterns inside of strings.

Regular expressions are usually surrounded by / symbols.

For example, if we wanted to find the number of times the word the occurred in the string The dog chased the cat, we could use the following regular expression: /the+/gi

Let’s break this down a bit:

the is the pattern we want to match.

  • + means we want to find one or more occurrences of this pattern.
  • g means that we want to search the entire string for this pattern.
  • i means that we want to ignore the case (uppercase or lowercase) when searching for the pattern.
1 Like

Hi.
Quick (hopefully) question.
In this challenge/lesson console show the number of found references from this and only this line:
var andCount = testString.match(expression).length;
It is happening “behind the scene” someway or am I missing something ?

Console stopped to update the number even when I just change variable (andCount) name.

What’s the purpose of attaching the length property to the match() function? Wouldn’t the match function search the entire string regardless of using the length property?

That’s the same question I asked. If you remove the length property it turns out you get an array:

var andCount = testString.match(expression); --> output [“and”, “and”]

So the length property is just counting the terms in the array i.e. 2

2 Likes

All the challenge required was to test your understanding of regular expression,like this:

var expression = /and/gi;

// Setup
var testString = “Ada Lovelace and Charles Babbage designed the first computer and the software that would have run on it.”;

// Example
var expressionToGetSoftware = /software/gi;
var softwareCount = testString.match(expressionToGetSoftware).length;

// Only change code below this line.

var expression = /and/gi; // Changed Line

// Only change code above this line

// This code counts the matches of expression in testString
var andCount = testString.match(expression).length;

1 Like

My answer:

/ / Only change code below this line.

var expression = /and/gi;  // Change this Line
var expressionToGetAnd = testString.match(expression).length;
// Only change code above this line

// This code counts the matches of expression in testString
var andCount = testString.match(expression).length;
1 Like