cheat_sheets_regex
Table of Contents
RegEx
Regular Expressions
Anchors
Syntax | Description |
---|---|
^ | Start of string, or start of line in multi-line pattern |
$ | End of string, or end of line in multi-line pattern |
Quantifiers
Syntax | Description |
---|---|
* | 0 or more |
? | 0 or 1 |
+ | 1 or more |
{3} | Exactly 3 |
{3,} | 3 or more |
{3,5} | 3, 4 or 5 |
note | Add a ? to a quantifier to make it ungreedy |
Escape
Syntax | Description |
---|---|
\ | Escape following character |
Escaping is a way of treating characters which have a special meaning in regular expressions literally, rather than as special characters.
Groups and Ranges
Syntax | Description |
---|---|
. | Any character except new line (\n) |
(a|b) | a or b |
(…) | Group, capturing |
(?:…) | Passive (non-capturing) group |
[abc] | Range (a or b or c) |
[^abc] | Not (a or b or c) |
[a-q] | Lower case letter from a to q |
[A-Q] | Upper case letter from A to Q |
[0-7] | Digit from 0 to 7 |
Use a group to “capture and replace”.
a(bc)
parentheses create a capturing group with valuebc
- The parentheses are used to create “groups,” which then get assigned a base-1 index, accessible in a replace with a
$
(i.e., the first parentheses-bounded (characters) become a group that can be referenced by$1
, the second group would be$2
, the third$3
, etc.). - NOTE: in gedit you reference with a backslash:
\
not a$
(i.e.,\1\2\3
, etc.). - See the follow table regarding string replacements.
String Replacement
Syntax | Description |
---|---|
$n | nth non-passive group |
$2 | "xyz" in /^(abc(xyz))$/ |
$1 | "xyz" in /^(?:abc)(xyz)$/ |
$` | Before matched string |
$' | After matched string |
$+ | Last matched string |
$& | Entire matched string |
Note: Some regex implementations use \ instead of $.
Character Classes
Syntax | Description |
---|---|
\c | Control character |
\s | White space |
\S | Not white space |
\d | Digit |
\D | Not digit |
\w | Word |
\W | Not word |
\x | Hexadecimal digit |
\O | Octal digit |
POSIX
Syntax | Description |
---|---|
[:upper:] | Upper case letters |
[:lower:] | Lower case letters |
[:alpha:] | All letters |
[:alnum:] | Digits and letters |
[:digit:] | Digits |
[:xdigit:] | Hexadecimal digits |
[:punct:] | Punctuation |
[:blank:] | Space and tab |
[:space:] | Blank characters |
[:cntrl:] | Control characters |
[:graph:] | Printed characters |
[:print:] | Printed characters and spaces |
[:word:] | Digits, letters and underscore |
cheat_sheets_regex.txt · Last modified: 2023/02/11 14:34 by gman