\*the literal * (4210 / 528 / 2A16)
\*the literal * (4210 / 528 / 2A16)
\S+?any non-whitespace character, repeated at least once
\*the literal * (4210 / 528 / 2A16)
\*the literal * (4210 / 528 / 2A16)
Positive Lookahead(?=(?:(?:[^$]*\$){2})*[^$]*$) Non-Capturing Group(?:(?:[^$]*\$){2})* *repeats the group contents below any number of times:
Non-Capturing Group(?:[^$]*\$){2} {2}repeats the group contents below exactly 2 times:
Negated Character Class[^$]* *matches any number of characters outside the set below:
$the literal $ (3610 / 448 / 2416)
\$the literal $ (3610 / 448 / 2416)
Negated Character Class[^$]* *matches any number of characters outside the set below:
$the literal $ (3610 / 448 / 2416)
$end of line
g modifier: global. Finds all matches instead of stopping after the first
m modifier: multiline. Causes ^ and $ to match the start and end of each line, not only the start and end of the string