Non-Capturing Group(?:<figcaption|(?!^)\G) 1st Alternative<figcaption <figcaptionthe literal text <figcaption (case sensitive) \Gstart of current search
Negated Character Class[^<#]* *matches any number of characters outside the set below:
<the literal < (6010 / 748 / 3C16)
#the literal # (3510 / 438 / 2316)
Non-Capturing Group(?:(?:<(?!\/figcaption\b)|#\B)[^<#]*)* *repeats the group contents below any number of times:
Non-Capturing Group(?:<(?!\/figcaption\b)|#\B) 1st Alternative<(?!\/figcaption\b) <the literal < (6010 / 748 / 3C16)
Negative Lookahead(?!\/figcaption\b) \/the literal / (4710 / 578 / 2F16)
figcaptionthe literal text figcaption (case sensitive) \ban ASCII word boundary
#the literal # (3510 / 438 / 2316)
\Bnot an ASCII word boundary
Negated Character Class[^<#]* *matches any number of characters outside the set below:
<the literal < (6010 / 748 / 3C16)
#the literal # (3510 / 438 / 2316)
\Kresets the starting point of the reported match. Any previously consumed characters are no longer included in the final match
#the literal # (3510 / 438 / 2316)
\w+any word character, repeated at least once
g modifier: global. Finds all matches instead of stopping after the first