Zum Inhalt springen

Empfohlene Beiträge

Geschrieben (bearbeitet)

Hallo Leute,

ich habe ein kleines Problemchen, dessen Lösung ich nicht finden kann...

if ($line =~ m/^$input/){...}

das ist ok, wenn $input mit Buchstaben oder Digits anfängt.

ABER: wenn mein $input ist "+" oder "(ABC" dann kracht es. Denn Perl kann nicht m/^+ bzw. m/^( matchen: es muss lediglich m/^\+ oder m/^\(

das kann ich nicht machen, da mein input immer verschieden ist => erste Zeichen kann auch ein Buchstaben sein.

Ich habe im Netz gelesen, dass es spezielle Operatoren für Matching gibt, mit deren Hilfe, dieses Problem zu lösen ist. \Q\E aber was ist das und wie kann ich es nutzen?

Kann mir bitte jemand bei diesem Problem helfen?

Danke

Bearbeitet von roman_schröder
Geschrieben

Ich habe im Netz gelesen, dass es spezielle Operatoren für Matching gibt, mit deren Hilfe, dieses Problem zu lösen ist. \Q\E aber was ist das und wie kann ich es nutzen?

Kann mir bitte jemand bei diesem Problem helfen?


if ($line =~ m/^\Q$input\E/){...}

Das \Q sorgt dafür, das alle nachfolgenden Zeichen, die in Perl bzw. im Regulären Ausdruck eine besondere Rolle spielen könnten, bis zum eventuellen Vorkommen von \E mit \ escaped werden.

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...