*Quantifier — Matches between zero and unlimited times, as many times as possible, giving back as needed (greedy)
A repeated capturing group will only capture the last iteration. Put a capturing group around the repeated group to capture all iterations or use a non-capturing group instead if you're not interested in the data
Negative Lookahead
(?!\<img)
Assert that the Regex below does not match
\< matches the character < literally (case sensitive)
img matches the characters img literally (case sensitive)
.matches any character
3rd Capturing Group
(\<img.[^>]*\>)
\< matches the character < literally (case sensitive)
img matches the characters img literally (case sensitive)
.matches any character
Match a single character not present in the list below
[^>]*
*Quantifier — Matches between zero and unlimited times, as many times as possible, giving back as needed (greedy)
> matches the character > literally (case sensitive)
\> matches the character > literally (case sensitive)
4th Capturing Group
(((?!\<img).)*)
5th Capturing Group
((?!\<img).)*
*Quantifier — Matches between zero and unlimited times, as many times as possible, giving back as needed (greedy)
A repeated capturing group will only capture the last iteration. Put a capturing group around the repeated group to capture all iterations or use a non-capturing group instead if you're not interested in the data
Negative Lookahead
(?!\<img)
Assert that the Regex below does not match
\< matches the character < literally (case sensitive)
img matches the characters img literally (case sensitive)
.matches any character
Global pattern flags
s modifier:single line. Dot matches newline characters
g modifier:global. All matches (don't return after first match)