perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 24
Click for quality!




11.02.2012 / 21:15

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


BeitragWas bedeutet dieser Ausdruck?
Seitenanfang
$text =~ s/<\/tr>[\s]*<br>[\s]*<tr/<\/tr>\n<tr/g;

Was bedeutet dieser Ausdruck? Ich verstehe ihn nicht!

Datum: 29.03.2006-08:21

Beitragre: Was bedeutet dieser Ausdruck?
Seitenanfang
Moin.
Also... :

Er bedeutet ersetze

</tr>,gefolgt von null oder beliebig vielen Whitespace-Zeichen, gefolgt von <br>, gefolgt von null oder beliebig vielen Whitespace-Zeichen, gefolgt von <tr

durch

</tr>, gefolgt von einem Zeilenumbruch, gefolgt von <tr

also s/suchmuster/ersetzung/g

Das g bedeutet 'global' und bedeutet ersetze alle Vorkommen.Ohne das g würde nur das erste ersetzt werden.

Da in deinem Beispiel als Begrenzungszeichen / verwendet (man könnte zum Beispiel auch s{</tr>[\s]*<br>[\s]*<tr}{</tr>\n<tr}g schreiben um sich die \ zu sparen )wird muss jedes Vorkommen von / im Suchmuster mit einem \ maskiert werden um Perl zu sagen dass es sich nicht um einen Begrenzer handelt.

s/// ist der sogenannte Substitutions-Operator, siehe auch:
http://perldoc.perl.org/perlop.html#Regexp-Quote-Like-Operators-operator%2c-regexp
http://perldoc.perl.org/perlre.html
http://perldoc.perl.org/perlreref.html

Datum: 29.03.2006-11:19

-






-
-