Johnny B.: Frage zu RegExp

Hallo geehrtes Forum,

ich habe eine RegExp, die mir aus einem $text einen Ausschnitt liefert, der durch $cut_oben und $cut_unten begrenzt ist; also den Teil zwischen diesen beiden 'Begrenzern'. Funktioniert auch soweit, ist wohl nur sehr unperformant, da das Script bei größeren Texten nach dem RegExp mit einem 500er Fehler abbricht.

my $regex_oben = quotemeta( $cut_oben );  
my $regex_unten = quotemeta( $cut_unten );  
$text =~ s/.*?$regex_oben(.+?)$regex_unten.*/$1/gms;

Kann mir jemand einen Hinweis geben, wieso diese Lösung nicht optimal ist? Oder vielleicht einen ganz anderen und noch viel besseren Ansatz?

Mille Grazie
JOhnnY

  1. ich habe eine RegExp, die mir aus einem $text einen Ausschnitt liefert, der durch $cut_oben und $cut_unten begrenzt ist; also den Teil zwischen diesen beiden 'Begrenzern'. Funktioniert auch soweit, ist wohl nur sehr unperformant, da das Script bei größeren Texten nach dem RegExp mit einem 500er Fehler abbricht.

    Was hat ein 500'er Serverfehlermeldung mit Performance zu tun?
    versuch doch lieber herauszufinden was die Ursache ist, steht im Fehlerlog.

    Struppi.

  2. Hi,

    ich habe eine RegExp, die mir aus einem $text einen Ausschnitt liefert, der durch $cut_oben und $cut_unten begrenzt ist; also den Teil zwischen diesen beiden 'Begrenzern'.

    Enthalten diese "Begrenzer" überhaupt Such*muster*, oder sind sie statischer Text?

    Kann mir jemand einen Hinweis geben, wieso diese Lösung nicht optimal ist?

    Wenn es sich um reinen Text handelt, nach dem du suchst - dann sind reguläre Ausdrücke nicht die Lösung.

    Oder vielleicht einen ganz anderen und noch viel besseren Ansatz?

    Nutze herkömmliche Stringfunktionen.

    MfG ChrisB

    --
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
    1. Nutze herkömmliche Stringfunktionen.

      z.B. index() und substr()

      mfg Beat

      --
      ><o(((°>           ><o(((°>
         <°)))o><                     ><o(((°>o
      Der Valigator leibt diese Fische