62 lines
2.3 KiB
Markdown
62 lines
2.3 KiB
Markdown
---
|
|
title: Regular Expressions Cheat Sheet
|
|
type: cheatsheet
|
|
tags: [javascript,string,regexp,cheatsheet]
|
|
author: chalarangelo
|
|
cover: tools
|
|
excerpt: Regular expressions are a very useful tool. Save this cheatsheet for when you need to look up their syntax and speed up your development.
|
|
dateModified: 2021-06-12T19:30:41+03:00
|
|
---
|
|
|
|
### Anchors
|
|
|
|
- `^`: start of the string or the start of a line in a multiline pattern
|
|
- `$`: end of the string or the end of a line in a multiline pattern
|
|
- `\b`: word boundary
|
|
- `\B`: not word boundary (opposite of `\b`)
|
|
|
|
Note: Anchors are non-quantifiable (i.e. cannot be followed by a quantifier).
|
|
|
|
### Character sequences
|
|
|
|
- `.`: any character except line breaks
|
|
- `\w`: any word character
|
|
- `\W`: any non-word character (opposite of `\w`)
|
|
- `\s`: any whitespace character
|
|
- `\S`: any non-whitespace character (opposite of `\s`)
|
|
- `\d`: any digit character
|
|
- `\D`: any non-digit character (opposite of `\d`)
|
|
- `[abc]`: a single character in the given set (here `a`, `b` or `c`)
|
|
- `[^abc]`: a single character not in the given set (opposite of `[abc]`)
|
|
- `[a-z]`: a single character in the given range (here between `a` and `z` inclusive)
|
|
- `[^a-z]`: a single character not in the given range (opposite of `[a-z]`)
|
|
- `[a-zA-Z]`: a single character in either of the given ranges
|
|
|
|
Note: Use `\` to escape special characters (e.g. `\`, `/`, `[`, `]`, `(`, `)`, `{`, `}` etc.).
|
|
|
|
### Quantifiers
|
|
|
|
- `a?`: zero or one of `a` (equal to `a{0,1}`)
|
|
- `a*`: zero or more of `a` (equal to `a{0,}`)
|
|
- `a+`: one or more of `a` (equal to `a{1,}`)
|
|
- `a{3}`: exactly 3 of `a`
|
|
- `a{3,}`: 3 or more of `a`
|
|
- `a{3,5}`: between 3 and 5 of `a` (inclusive)
|
|
|
|
Note: `a` is any valid quantifiable expression.
|
|
|
|
### Groups
|
|
|
|
- `(ab)`: match and capture everything enclosed (here exactly `ab`)
|
|
- `(a|b)`: match and capture either one character (here `a` or `b`)
|
|
- `(?:ab)`: match everything enclosed, without capturing
|
|
|
|
### Flags
|
|
|
|
- `g`: Global
|
|
- `m`: Multiline
|
|
- `i`: Case insensitive
|
|
- `u`: Unicode
|
|
|
|
Note that this cheatsheet is meant only as a starting point and is by no means a complete guide to all the features and nuances of regular expressions. You can also read [6 JavaScript Regular Expression features you can use today](/blog/s/6-javascript-regexp-tricks) for a deeper dive into some more advanced features.
|