# RegEx Cheatsheet Contents: 1. [Special characters](#special-characters) 2. [Quantifiers](#quantifiers) 3. [Special sequences](#special-sequences) 4. [Useful examples](#useful-examples) ## Special characters - `\` - escapes special characters - `.` - matches any character - `^` - matches start of the string (or line if MULTILINE) - `$` - matches end of the string (or line if MULTILINE) - `[5b-d]` - matches any chars '5', 'b', 'c' or 'd' - `[^a-c6]` - matches any char except 'a', 'b', 'c' or '6' - `R|S`- matches either regex R or regex S - `()` - creates a capture group, and indicates precedence ## Quantifiers - `*` - 0 or more - `+` - 1 or more - `?` - 0 or 1 - `{m}` - exactly 'm' - `{m,n}` - from m to n (`m` defaults to 0, `n` to infinity) - `{m,n}?` - from m to n, as few as possible ## Special sequences - `\A` - Start of string - `\b` - Matches empty string at word boundary (between \w and \W) - `\B` - Matches empty string not at word boundary - `\d` - Digit - `\D` - Non-digit - `\s` - Whitespace: [ \t\n\r\f\v], more if LOCALE or UNICODE - `\S` - Non-whitespace - `\w` - Alphanumeric: [0-9a-zA-Z_], or is LOCALE dependant - `\W` - Non-alphanumeric - `\Z` - End of string ## Useful examples Find `foo` word: ``` \bfoo\b ``` Find a sequence of `foo` + some characters + `bar`: ``` \bfoo\b.*\bbarb\ ```