This post is a part of the Week X of 100DaysOfCode JavaScript Challenge series.
- Match Whitespace:
\s
the lowercase s
can match white space and white space between other characters. It includes white space, tab, form feed, new line, carriage return and vertical tab. You can consider it equivalent to the character class [\t\n\r\f\v]
.
var str = "whitespace. whitespace everywhere!";
const regex = /\s/g;
console.log(str.match(regex)); // [" ", " "]
- Match Non-Whitespace Characters:
\S
the uppercase S
will match everything but not whitespace. It will not match tab character, newline, form feed, carriage return, and vertical tab. You can consider it an equivalent to the character class [^\t\n\r\f\v]
.
var str = "whitespace. whitespace everywhere!";
const regex = /\S/g;
console.log(str.match(regex).length); // 32
- Specify Upper and Lower Number of Matches:
Previously we learned how to match the letter one or more times with the +
character and match zero or more times with the asterisk *
characters. But sometimes you would want to specify a lower and upper bound number for the match. You do this with the help of the quantity specifier. You specify the upper and lower bound numbers in the curly brackets {}
.
let a4 = "aaaah";
let a2 = "aah";
let multipleA = /a{3,5}h/;
console.log(multipleA.test(a4)); // true
console.log(multipleA.test(a2)); // false
- Specify Only the Lower Number of Matches:
If you specify only the lower bound number in the quantity specifier with the following comma and omit the upper bound number, it will mean a minimum number match.
let a4 = "aaaah";
let a2 = "aah";
let multipleA = /a{3,}h/; // minimum three times
console.log(multipleA.test(a4)); // true
console.log(multipleA.test(a2)); // false
- Specify Exact Number of Matches:
If you specify only one number in the curly brackets {X}
, only that number of times will be matched.
let a4 = "haaaah";
let a2 = "haah";
let a3 = "haaah";
let threeA = /ha{3}h/; // minimum three times
console.log(threeA.test(a4)); // false
console.log(threeA.test(a2)); // false
console.log(threeA.test(a3)); // true
- Check for All or None:
Previously we used the ?
mark to lazy match a string. Another use of this character is to make a character match optional.
console.log(/colou?r/.test("color")); // true
console.log(/colou?r/.test("colour")); // true
Top comments (0)