How the tester works
Patterns run on your browser's JavaScript regex engine, so results match what RegExp, String.match() and String.replace() will do in your code. The g, i, m, s, u and y flags are supported. Matches are highlighted in the text and listed with their starting index and every capture group, including named groups such as (?<year>\d{4}), up to 1,000 matches. Replace mode previews String.replace() output, with $1, $<name> and $& substitutions.
Most regex syntax is shared across JavaScript, Python, Java, Go and PCRE, but details differ: lookbehind support, named group syntax and Unicode classes vary. Check against your target language for anything beyond the basics.
Flags at a glance
g finds every match instead of stopping at the first. i ignores case. m makes ^ and $ match at the start and end of each line. s lets . match newlines. u turns on full Unicode handling, including \p{L} style property classes. y (sticky) only matches at the exact position where the last match ended.
Patterns worth knowing
\d+ matches runs of digits. ^\s+|\s+$ finds leading and trailing whitespace. \b\w+@\w+\.\w+\b is a rough email matcher, good for searching logs but not for validation. (\d{4})-(\d{2})-(\d{2}) captures the year, month and day of an ISO date as three groups. Prefer specific character classes over .* wherever you can; greedy wildcards are the most common source of surprising matches.