Permalink
| > Regular Expressions Cheat Sheet | |
| > A regular expression specifies a set of strings that matches it. This cheat sheet is based off Python 3's Regular Expressions (http://docs.python.org/3/library/re.html) but is designed for searches within Sublime Text. | |
| > Special Characters | |
| \ Escapes special characters or signals a special sequence. | |
| . Matches any single character except a newline. | |
| ^ Matches the start of the string. | |
| $ Matches the end of the string. | |
| * Greedily matches 0 or more repetitions of the preceding RE. | |
| *? Matches 0 or more repetitions of the preceding RE. | |
| + Greedily matches 1 or more repetitions of the preceding RE. | |
| +? Matches 1 or more repetitions of the preceding RE. | |
| ? Greedily matches 0 or 1 repetitions of the preceding RE. | |
| ?? Matches 0 or 1 repetitions of the preceding RE. | |
| A|B Matches A, if A is unmatched then matches B, where A and B are arbitrary REs. | |
| {m} Matches exactly m many repetitions of the previous RE. | |
| {m,n} Greedily matches from m many to n many repetitions of the previous RE. | |
| {m,n}? Matches m many to n many repetitions of the previous RE. | |
| [...] Indicates a set of characters to match. | |
| [amk] Matches 'a', 'm', or 'k'. | |
| [a-z] Matches 'a' through 'z'. | |
| [a-f0-7] Matches 'a' through 'f' or '0' through '7'. | |
| [a\-z] Matches 'a', '-', or 'z'. | |
| [a-] Matches 'a' or '-'. | |
| [-a] Matches 'a' or '-'. | |
| [(+*)] Matches '(', '+', '*', or ')'. [] matches special characters literally. | |
| [\w] Matches the character class for '\w'. See character classes. | |
| [^5] Matches anything other than '5'. '^' forms the complementary set only as the first character in a set. | |
| []()] Matches ']', '(', and ')'. ']' is taken literally only as the first character in a set. | |
| [()\]] Matches ']', '(', and ')'. | |
| (...) Matches the RE inside the parenthesis and assigns a new group. | |
| (?P<name>...) The RE matched is accessible by the group indicated by name. | |
| (?...) Extension notation which changes a RE's behavior. These do not assign a new group. | |
| (?aiLmsux) Sets the corresponding flag to each letter. Does not work within Sublime Text. | |
| (?:...) A non-capturing version of parenthesis. The matched substring cannot be retrieved later. | |
| (?P=name) Matches the substring matched by the group named name. | |
| (?#...) A comment, the contents are ignored. | |
| (?=...) Lookahead assertion, the preceding RE only matches if this matches. | |
| (?!...) Negative lookahead assertion, the preceding RE only matches if this doesn't match. | |
| (?<=...) Positive lookbehind assertion, the following RE will only match if preceded with this fixed length RE. | |
| (?<!...) Negative lookbehind assertion, the following RE will only match if not preceded with this fixed length RE. | |
| (?(id)true|false) If group id exists then uses the true RE, else use the false RE. | |
| > Character classes | |
| \1 Matches the contents of the group labelled by the same number. Acceptable numbers are 1-99. | |
| \A Matches at the start of the current string. | |
| \b Matches the empty string at the beginning or end of a word. \b matches the boundary between \w and \W. | |
| \B Matches the empty string not at the beginning or end of a word. | |
| \d Matches any Unicode decimal digit, including 0-9. | |
| \D Matches any Unicode non-decimal digit. | |
| \s Matches any Unicode whitespace character, including ' ', \t, \n, \r, \f and \v. | |
| \S Matches any Unicode non-whitespace character. | |
| \w Matches any Unicode word character, including a-z, A-Z, and 0-9. | |
| \W Matches any Unicode non-word character. | |
| \Z Matches at the end of the string. | |
| \a Matches the ASCII Bell (). | |
| \f Matches the ASCII Formfeed (). | |
| \n Matches the ASCII Linefeed. | |
| \r Matches the ASCII Carriage Return (). | |
| \t Matches the ASCII Horizontal Tab. | |
| \v Matches the ASCII Vertical Tab (). |