I rarely use regex (regular expressions) beyond basics such as these:
- match one or more characters:
.+
- match beginning of line:
^
- match end of line:
$
I recently had to do more fancy things:
-
exclude a character from matching:
[^x]
-
allow
.
to match\n
:(?s:.)
-
do multi-line matching:
(?m:\s)
For an example of how the above 2 work, consider this text:
asm!(
"jmp {}",
label {},
);
The following regex will match asm!
,
followed by label
,
followed by {
,
while ignoring all that is between those:
asm!(?s:.)+label(?m:\s)*\{
The regex dialect used is that of the Rust regex crate.