online 1
gast (50)

/ Forum / Skripte(PHP,ASP,Perl...)

Skripte(PHP,ASP,Perl...)Skripte(PHP,ASP,Perl...)

Fragevon ducks vom 13.04.2021, 20:41 Options

[perl] String ausschneiden

Hallo Zusammen,

ich hab irgendwie heute ein Brett vorm Kopf, deswegen frag ich einfach mal nach.

Ich hab ein Zeichenkette $string.
und in dieser Zeichenkette ist eine weitere die durch z.B. xy auf beiden Seiten begrenzt ist.

Ich versuche jetzt diese Zeichenkette (ob mit oder ohne xy, ist egal... kann man ja nachher noch beschneiden) in einen neuen String zu bekommen.

also muesste der regulaere Ausdruck ja so aussehen:

/\sxy.+xy\s/

Aber wie komme ich von

$haystack = 'meinstring';
und dem regulaerem Ausdruck zu eine Variable mit nur dem Ausgeschnittenen Teil?

Danke schonmal.

mfg ducks


Antwort schreiben

Antwort 1 von Supermax vom 13.04.2021, 21:34 Options

Normalerweise wird der zu extrahierende Teil in runde Klammern eingeschlossen, die Werte stehen dann nach dem Anwenden der Regex in den Variablen $1, $2 usw....

Antwort 2 von ducks vom 13.04.2021, 21:40 Options

wenn du ungefaeht so meinst:

$text = "Mein NameistMoser.\n";
$text =~ /Name(.+)Moser">/;
print $1;


dann produziert das wie erwartet einen Error wegen einer nicht deklarierten Variable.

koenntest du vll. ein kleines Code Beispiel angeben?

sonst laesst sich aus deiner Aussage nicht allzuviel entnehmen.

mfg

Antwort 3 von Supermax vom 14.04.2021, 06:49 Options

Die $1, $2,... variablen sind nur gesetzt, wenn eine Übereinstimmung gefunden wurde, daß der Text in deinem Beispiel keine Übereinstimmung mit deiner Regex generiert sieht man auf den ersten Blick. Das "> ist wohl zu viel.

Siehe auch hier (englisch)

Antwort 4 von ducks vom 14.04.2021, 11:57 Options

dank dir supermax.. tatsaechlich da hat sich ein > zu viel verirrt..

danke fuer die klarsicht ^^

mfg

Antwort 5 von ducks vom 14.04.2021, 11:59 Options

mhh nochmal ausgefuehrt
aber auch
#!/usr/bin/perl

use warnings;

$text = "Mein NameistMoser.\n";
$text =~ /Name(.+)Moser"/;
print $1;


bringt nicht das gewuenschte Ergebnis.

ich werde mich nochmal durch den von dir geposteten Link wuehlen und mich wenn es nicht klappen sollte nochmal melden

mfg

Ähnliche Themen

Perl mit MySQL?
TByte  09.05.2008 - 72 Hits - 36 Antworten

Leerzeichen in String erkennen
Uesch  03.05.2008 - 43 Hits - 7 Antworten

Perl Formularverarbeitung
perl_vs_php  20.11.2008 - 7 Hits - 6 Antworten

Problem - UPDATE -String mit implode zusammenstellen
IngridL.  21.11.2008 - 20 Hits - 29 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 01:23:17 2026