2018-10-04 14:37:37 +01:00
---
id: 587d7db7367417b2b2512b9f
title: Match All Letters and Numbers
challengeType: 1
2019-08-05 09:17:33 -07:00
forumTopicId: 301346
2018-10-04 14:37:37 +01:00
---
## Description
< section id = 'description' >
Using character classes, you were able to search for all letters of the alphabet with < code > [a-z]< / code > . This kind of character class is common enough that there is a shortcut for it, although it includes a few extra characters as well.
The closest character class in JavaScript to match the alphabet is < code > \w</ code > . This shortcut is equal to < code > [A-Za-z0-9_]</ code > . This character class matches upper and lowercase letters plus numbers. Note, this character class also includes the underscore character (< code > _</ code > ).
2019-05-17 06:20:30 -07:00
```js
let longHand = /[A-Za-z0-9_]+/;
let shortHand = /\w+/;
let numbers = "42";
let varNames = "important_var";
longHand.test(numbers); // Returns true
shortHand.test(numbers); // Returns true
longHand.test(varNames); // Returns true
shortHand.test(varNames); // Returns true
```
2018-10-04 14:37:37 +01:00
These shortcut character classes are also known as < code > shorthand character classes< / code > .
< / section >
## Instructions
< section id = 'instructions' >
Use the shorthand character class < code > \w</ code > to count the number of alphanumeric characters in various quotes and strings.
< / section >
## Tests
< section id = 'tests' >
```yml
tests:
- text: Your regex should use the global flag.
2019-07-24 02:32:04 -07:00
testString: assert(alphabetRegexV2.global);
- text: Your regex should use the shorthand character < code > \w</ code > to match all characters which are alphanumeric.
testString: assert(/\\w/.test(alphabetRegexV2.source));
2018-10-04 14:37:37 +01:00
- text: Your regex should find 31 alphanumeric characters in < code > "The five boxing wizards jump quickly."</ code >
2019-07-24 02:32:04 -07:00
testString: assert("The five boxing wizards jump quickly.".match(alphabetRegexV2).length === 31);
2018-10-04 14:37:37 +01:00
- text: Your regex should find 32 alphanumeric characters in < code > "Pack my box with five dozen liquor jugs."</ code >
2019-07-24 02:32:04 -07:00
testString: assert("Pack my box with five dozen liquor jugs.".match(alphabetRegexV2).length === 32);
2018-10-04 14:37:37 +01:00
- text: Your regex should find 30 alphanumeric characters in < code > "How vexingly quick daft zebras jump!"</ code >
2019-07-24 02:32:04 -07:00
testString: assert("How vexingly quick daft zebras jump!".match(alphabetRegexV2).length === 30);
2018-10-04 14:37:37 +01:00
- text: Your regex should find 36 alphanumeric characters in < code > "123 456 7890 ABC def GHI jkl MNO pqr STU vwx YZ."</ code >
2019-07-24 02:32:04 -07:00
testString: assert("123 456 7890 ABC def GHI jkl MNO pqr STU vwx YZ.".match(alphabetRegexV2).length === 36);
2018-10-04 14:37:37 +01:00
```
< / section >
## Challenge Seed
< section id = 'challengeSeed' >
< div id = 'js-seed' >
```js
let quoteSample = "The five boxing wizards jump quickly.";
let alphabetRegexV2 = /change/; // Change this line
let result = quoteSample.match(alphabetRegexV2).length;
```
< / div >
< / section >
## Solution
< section id = 'solution' >
```js
2019-05-03 03:05:26 -07:00
let quoteSample = "The five boxing wizards jump quickly.";
let alphabetRegexV2 = /\w/g; // Change this line
let result = quoteSample.match(alphabetRegexV2).length;
2018-10-04 14:37:37 +01:00
```
2019-07-18 08:24:12 -07:00
2018-10-04 14:37:37 +01:00
< / section >