Split regex Unterschied
am 27.03.2007 10:20:51 von Andreas Hernitscheck
Hallo,
kann mir jemand erklären, warum
my @s=split(/\n/,$s);
nicht das gleiche ist wie
my @s=split(/(\n)/,$s);
? Im 2. Beispiel wird je zwei mal gesplittet. Verstehe leider nicht
weshalb.
Re: Split regex Unterschied
am 27.03.2007 10:23:58 von Frank Seitz
Andreas Hernitscheck wrote:
>
> kann mir jemand erklären, warum
>
> my @s=split(/\n/,$s);
>
> nicht das gleiche ist wie
>
> my @s=split(/(\n)/,$s);
>
> ? Im 2. Beispiel wird je zwei mal gesplittet. Verstehe leider nicht
> weshalb.
Was meinst Du damit?
Grüße
Frank
--
Dipl.-Inform. Frank Seitz; http://www.fseitz.de/
Anwendungen für Ihr Internet und Intranet
Tel: 04103/180301; Fax: -02; Industriestr. 31, 22880 Wedel
Re: Split regex Unterschied
am 27.03.2007 10:26:36 von Bjoern Hoehrmann
* Andreas Hernitscheck wrote in de.comp.lang.perl.misc:
>kann mir jemand erklären, warum
>
>my @s=split(/\n/,$s);
>
>nicht das gleiche ist wie
>
>my @s=split(/(\n)/,$s);
>
>? Im 2. Beispiel wird je zwei mal gesplittet. Verstehe leider nicht
>weshalb.
Nein, Perl splittet den String dann und gibt zusätzlich den jeweils
trennenden Ausdruck ebenfalls zurück, um das Beispiel aus `perldoc
-f split` zu nehmen,
If the PATTERN contains parentheses, additional list elements
are created from each matching substring in the delimiter.
split(/([,-])/, "1-10,20", 3);
produces the list value
(1, '-', 10, ',', 20)
Das sollte dann auch erklären warum das so ist.
--
Björn Höhrmann · mailto:bjoern@hoehrmann.de · http://bjoern.hoehrmann.de
Weinh. Str. 22 · Telefon: +49(0)621/4309674 · http://www.bjoernsworld.de
68309 Mannheim · PGP Pub. KeyID: 0xA4357E78 · http://www.websitedev.de/
Re: Split regex Unterschied
am 02.04.2007 10:31:58 von Andreas Hernitscheck
Am Tue, 27 Mar 2007 10:26:36 +0200 schrieb Bjoern Hoehrmann:
> Nein, Perl splittet den String dann und gibt zusätzlich den jeweils
> trennenden Ausdruck ebenfalls zurück, um das Beispiel aus `perldoc
> Das sollte dann auch erklären warum das so ist.
Ja danke, man lernt immer wieder was neues.