MudGuard: Unterschied RegEx Flag "m" zu "s"

Beitrag lesen

Hi,

Ich verstehe irgendwie den Unterschied zw. dem Flag "m" und "s" eines regulären Ausdrucks nicht wirklich.
unter http://selfhtml.teamone.de/cgiperl/sprache/regexpr.htm#flags steht dazu:
m Zeichenketten können aus mehreren Zeilen bestehen
s Zeichenketten als eine einzige Zeile betrachten
Was genau ist da bitte der Unterschied? Können Zeichenketten nicht grundsätzlich aus mehreren Zeilen bestehen? Wozu dann das flag "m"?

perldoc perlre sagt dazu:

m   Treat string as multiple lines. That is, change "^" and "$" from
        matching the start or end of the string to matching the start or end
        of any line anywhere within the string.

s   Treat string as single line. That is, change "." to match any
        character whatsoever, even a newline, which normally it would not
        match.

The "/s" and "/m" modifiers both override the $* setting. That is,
        no matter what $* contains, "/s" without "/m" will force "^" to
        match only at the beginning of the string and "$" to match only at
        the end (or just before a newline at the end) of the string.
        Together, as /ms, they let the "." match any character whatsoever,
        while still allowing "^" and "$" to match, respectively, just after
        and just before newlines within the string.

cu,
Andreas

--
Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
http://mud-guard.de? http://www.andreas-waechter.de/