Regular Expressions¶
Regular expressions (a sequence of characters that define a search pattern) are used to match your log event code sequences. See ~training/cheatsheets/regex-cheatsheet-for-mkpy.pdf for more detail; the basics are below
Ordinary characters¶
match themselves 1-1 for each letter, numeral, and white space (white space is in between each event code when we are matching codes in our log files)
Example
1234
matches 1234
but not 1324
or 12 34
Metacharacters¶
define complex patterns using symbols combined with numbers or specifiers
Basic Matching¶
each symbol matches a single character
Example
. = anything (other than line breaks)
\d = digit (0123456789)
^ = not this (i.e., ^1 would match any character, including non-numbers, other than 1)
Square Brackets¶
define a set of characters to match
Example
[123]456
matches 1456
and 2456
and 3456
but not 4456
Backslash Characters¶
match a type of character, e.g., numerals
Example
\d456
and [0123456789]456
are equivalent and would match 1456
and 2456
and so on
Quantifiers¶
specify the number of pattern repetitions to match for the character before it
Example
* = zero or more, 12*3
matches 13
and 123
and 1223
and 12223
and so on
+ = one or more, 12+3
matches 123
and 1223
and 12223 and so on
{3} = exactly 3, 1\d{3}3
matches 10003
and 11113
and 12223
and so on
{1,3} = between 1 and 3, 12{1,3}3
matches 123
and 1223
and 12223
(only)
Parentheses¶
capture a subpattern or group within the pattern
Example
(1234) 56 78
captures the group 1234
that is followed by 56 78
(\d234) 56 78
captures any group of 4 digits ending in 234
followed by 56 78
(\d{4})
captures any group of 4-digits