^start of line
Negated Character Class[^#]* *matches any number of characters outside the set below:
#the literal # (3510 / 438 / 2316)
#the literal # (3510 / 438 / 2316)
Negated Character Class[^#]* *matches any number of characters outside the set below:
#the literal # (3510 / 438 / 2316)
#the literal # (3510 / 438 / 2316)
Negated Character Class[^#]* *matches any number of characters outside the set below:
#the literal # (3510 / 438 / 2316)
#the literal # (3510 / 438 / 2316)
\1the text saved by group 1
.*any character (except for line terminators), repeated any number of times
$end of line
g modifier: global. Finds all matches instead of stopping after the first
i modifier: insensitive. Matches without distinguishing uppercase and lowercase letters
m modifier: multiline. Causes ^ and $ to match the start and end of each line, not only the start and end of the string