snippetjavascriptTip
6 JavaScript Regular Expression features you can use today
Viewed 0 times
todayjavascriptexpressionyouusecanregularfeatures
Problem
Regular expressions, while very powerful, are notoriously hard to master. Here are 6 useful features that can help you start using them in your JavaScript projects:
Capturing groups allow you to get specific parts of the matched string, simply by wrapping part of the regular expression in parentheses
Non-capturing groups are used for matching something without capturing it, like an either/or matching group that you do not really need. They are defined similarly to capturing groups, but prefixed with
Named capturing groups allow you to name a capturing group, by prefixing it with
Backreferences help you write shorter regular expressions, by repeating an existing capturing group, using
Capturing groups allow you to get specific parts of the matched string, simply by wrapping part of the regular expression in parentheses
(...):Non-capturing groups are used for matching something without capturing it, like an either/or matching group that you do not really need. They are defined similarly to capturing groups, but prefixed with
?::Named capturing groups allow you to name a capturing group, by prefixing it with
<name>:Backreferences help you write shorter regular expressions, by repeating an existing capturing group, using
\1, \2 etc. Similarly, you can also repeat named capturing groups using \k<name>:Solution
const str = 'JavaScript is a programming language';
/(JavaScript) is a (.*)/.exec(str);
/*
[
0: 'JavaScript is a programming language',
1: 'JavaScript',
2: 'programming language'
]
*/Non-capturing groups are used for matching something without capturing it, like an either/or matching group that you do not really need. They are defined similarly to capturing groups, but prefixed with
?::Named capturing groups allow you to name a capturing group, by prefixing it with
<name>:Backreferences help you write shorter regular expressions, by repeating an existing capturing group, using
\1, \2 etc. Similarly, you can also repeat named capturing groups using \k<name>:Lookaheads allow you to check if something is followed by a certain pattern, without actually matching it. You can create positive lookaheads using
?= and negative lookaheads using ?!:Finally, you can match unicode characters, using
/p{...} and the /u flag. Examples include, but are not limited to {Emoji}, {Math_Symbols} and {Script=Greek}:Code Snippets
const str = 'JavaScript is a programming language';
/(JavaScript) is a (.*)/.exec(str);
/*
[
0: 'JavaScript is a programming language',
1: 'JavaScript',
2: 'programming language'
]
*/const str = 'JavaScript is a programming language';
/(?:JavaScript|Python) is a (.+)/.exec(str);
/*
[
0: 'JavaScript is a programming language',
1: 'programming language'
]
*/const str = 'JavaScript is a programming language';
/(?<subject>.+) is a (?<description>.+)/.exec(str);
/*
[
0: 'JavaScript is a programming language',
1: 'JavaScript',
2: 'programming language',
groups: {
subject: 'JavaScript,
description: 'programming language'
}
]
*/Context
From 30-seconds-of-code: 6-regexp-tricks
Revisions (0)
No revisions yet.