Ich habe Probleme mit Perl grep () mit einer Zeichenkette, die darf Zeichen enthält, die als Quantifizierer für reguläre Ausdrücke interpretiert werden.
Ich habe den folgenden Fehler erhalten, wenn das grep-Muster "g ++" ist, weil die '+' Symbole werden als Quantoren interpretiert. Hier ist die Ausgabe von für folgendes Programm:
%Vor%Gibt es einen Modifikator, mit dem ich angeben könnte, dass die Quantifizierer ignoriert werden sollen, Oder gibt es eine Funktion, die den Quantifizierern entgeht?
%Vor%PS: Zusätzlich zu der Antwort Frage oben, begrüße ich jede Rückmeldung über Perl Verwendung in den oben genannten, wie ich noch lerne. Danke
Der Standardweg besteht darin, den \Q
Escape-Indikator vor Ihrer Variablen zu verwenden, um Perl anzuweisen, den Inhalt nicht als regulären Ausdruck zu analysieren:
Wenn Sie diese Zeile in Ihrem Code ändern, erhalten Sie:
%Vor%zusätzlich zu der Antwort Frage oben, ich begrüße jede Rückmeldung über Perl Verwendung in der oben genannten, wie ich noch lerne. Danke
Ich würde dir raten, keine Prototypen zu verwenden (das ($) nach test_grep). Sie haben ihren Nutzen, aber nicht in den meisten Fällen und definitiv nicht in diesem.
PS: zusätzlich zu der Antwortfrage oben, ich begrüße jedes Feedback zu Perl Verwendung in dem oben genannten, wie ich immer noch bin lernen.
Der beste Rat, den ich für Perl-Ratgeber im Allgemeinen geben kann, ist Perl :: Critic und Verwenden Sie den Befehl perlcritic für Ihren Code. Wenn Sie das nicht können, können Sie das Online-Perl-Tool verwenden. Es wird hilfreich sein, wenn Sie eine Kopie von Perl Best Practices zur Hand haben, da Perl::Critic
das Buch bereits gelesen hat und Ihnen weiterhilft Verweise auf Seitenzahlen, auch wenn Sie das Buch nicht in der Nähe haben, finden Sie in der Perl :: Kritische Dokumentation Abschnitte beginnend mit Perl::Critic::Policy::
.