nur mal zum Verständis, bevor ich dem Mann schreibe:
http://www.publicidentity.ca/node/32
---
So here is a couple quick regular expression replace to get rid of script
tags in HTML that might be submitted via a form.:
* to remove a script tag and its contents:
<script.*?>[\s\S]*?</.*?script>
---
Ist das nicht dasselbe wie das folgende?
<script.*?>.*?</.*?script>
[\s\S] schließt m. M. n. eigentlich kein Zeichen aus - oder doch?
-Andreas
> <script.*?>[\s\S]*?</.*?script>
> Ist das nicht dasselbe wie das folgende?
>
> <script.*?>.*?</.*?script>
Laut perldoc perlretut matched "." auf jedes Zeichen außer "\n".
"\s" beinhaltet aber "\n". Sind also verschieden, da [\s\S] somit "\n"
beinhaltet.
> [\s\S] schließt m. M. n. eigentlich kein Zeichen aus - oder doch?
ACK.
Grüße
Markus
Ahja!
> "\s" beinhaltet aber "\n". Sind also verschieden, da [\s\S] somit "\n"
> beinhaltet.
OK [\s\S] ist also die Vereinigungsmenge von "." und '\n', wahrscheinlich
zur besseren Lesbarkeit so geschrieben.
Ich dachte bislang in der Tat, dass "." wirklich für *alle* Zeichen ist.
Dankeschön, genau das was ich wissen wollte.
-Andreas
Das ist es dann, wenn Du das Flag /s verwendest.
/./s matcht jedes Zeichen, auch \n.
Conway empfiehlt in Perl Best Practices, die Flags /xms immer zu
verwenden.
hp