// Tutorial //

A Quick Guide to the String Match Method in JavaScript

Published on January 7, 2020
Default avatar

By Aaron Moreno

A Quick Guide to the String Match Method in JavaScript

While we believe that this content benefits our community, we have not yet thoroughly reviewed it. If you have any suggestions for improvements, please let us know by clicking the “report an issue“ button at the bottom of the tutorial.

String.prototype.match() (aka: the match method on strings) can allow you to switch out strings or set conditions if a string or any data is matched. It then stores that data in a new array.

First the syntax and then the explanation:

let newArray = string.match(condition);

Terminology

The string match() method will return an array with the items being matches from a provided regular expression found in the string. You can read more about regular expressions in JavaScript here.

Remember, when all conditions are matched, those results will be stored in a new array.

Take the following example:

const intro = "Hello Alligators, Hello Devs, how are you?"

const regex = /Hello/g;

const greeting = intro.match(regex);

The above will give us an array like this: ["Hello", "Hello"]. This works fine if we know the exact string we’re looking to match, but what about dynamic content or an actual use case?

Here’s a simple example that finds repeated letters in a string:

const str = 'See you later, Alligator! Not so soon baboon!';
const matches = str.match(/([a-z])\1+/gi);

console.log('H' + matches.join(""));
// "Heelloooo"

Though these are simple examples, the deeper you learn about regular expressions, the more powerful this string method becomes. The simple use of i for insensitive case allows the match method to highlight more entries.


The match method has 3 modes…

  • 1st: If the g(global) flag is used for your RegEx, you’ll get all results stored in an array.
  • 2nd: If there are no g flag used, the first match will return an array with keys/values sharing index of the first matched expression, the full input and then the capturing groups. In other words, the same result as with using RegExp.exec().
let newYear = "Happy New Year";
let results = newYear.match(/new/i);
// [ 'New', index: 6, input: 'Happy New Year', groups: undefined ]
  • 3rd: If there’s no match, the method returns null, or, with the following code, an empty array:
let results = newYear.match(regex) || [];

Conclusion

Match is a fun little method that can be used in a lot of creative ways like pulling out keywords from a paragraph or replacing words if the condition matches the regex. Take the time to learn about Regular Expressions in JavaScript. It’ll make match even more useful for you.

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

Learn more about us


Want to learn more? Join the DigitalOcean Community!

Join our DigitalOcean community of over a million developers for free! Get help and share knowledge in our Questions & Answers section, find tutorials and tools that will help you grow as a developer and scale your project or business, and subscribe to topics of interest.

Sign up now
About the authors
Default avatar
Aaron Moreno

author

Still looking for an answer?

Ask a questionSearch for more help

Was this helpful?
 
Leave a comment
Leave a comment...

This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!