^start of line
httpthe literal text http (case sensitive) s?optionally matches the literal s (11510 / 1638 / 7316) (case sensitive)
ftpthe literal text ftp (case sensitive) :the literal : (5810 / 728 / 3A16)
\/the literal / (4710 / 578 / 2F16)
\/the literal / (4710 / 578 / 2F16)
Negative Lookahead(?!\W*www\.) \W*any non-word character, repeated any number of times
wwwthe literal text www (case sensitive) \.the literal . (4610 / 568 / 2E16)
\S+any non-whitespace character, repeated at least once
$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