-+  Associazione
-+  Documenti
 |-  Modern Perl
 |-  Bibliografia
 |-  Articoli
 |-  Talk
 |-  Perlfunc
 |-  F.A.Q.
 |-  F.A.Q. iclp
-+  Eventi
-+  Community
-+  Blog
-+  Link
Corso di Perl



 


indietro

[8] Come si può fare il quote di una variabile da usare in una regex? regex, escaping regexp, escaping espressione regolare, escaping

Il parser del Perl espanderà i riferimenti a $variabile e @variabile in espressioni regolari a meno che il delimitatore sia un singolo quote [un apice, NdT]. Ricordate inoltre che il lato destro di una sostituzione s/// viene considerato come una stringa doppiamente quotata (delimitata da virgolette, NdT) (si veda perlop per maggiori dettagli). Ricordate anche che ogni carattere speciale delle regex avrà affetto, a meno che non si preceda la sostituzione con \Q. Di seguito un esempio:

    $stringa = "Placido P. Octopus";
    $regex  = "P.";
    $stringa =~ s/$regex/Polyp/;
    # $stringa e` ora "Polypacido P. Octopus"

Siccome . è un carattere speciale per quanto riguarda le espressioni regolari, e può trovare qualsiasi carattere, la regex P. qui ha trovato il <Pl> contenuto nella stringa originale.

Per effettuare l'escaping del significato speciale di ., utilizziamo \Q:

    $stringa = "Placido P. Octopus";
    $regex  = "P.";
    $stringa =~ s/\Q$regex/Polyp/;
    # $string e` ora "Placido Polyp Octopus"

L'utilizzo di \Q fa si che il <.> contenuto nell'espressione regolare sia trattato come un carattere regolare, cosicché P. possa trovare una P seguita da un punto.

vedi in inglese

AUTORE E COPYRIGHT

Copyright (c) 1997, 1998, 1999, 2000, 2001 Tom Christiansen e Nathan Torkington. Tutti i diritti riservati.

Questa documentazione è libera; puoi ridistribuirla e/o modificarla secondo gli stessi termini applicati al Perl.

Indipendentemente dalle modalitè di distribuzione, tutti gli esempi di codice in questo file sono rilasciati al pubblico dominio. Potete, e siete incoraggiati a farlo, utilizzare il presente codice o qualunque forma derivata da esso nei vostri programmi per divertimento o per profitto. Un semplice commento nel codice che dia riconoscimento alle FAQ sarebbe cortese ma non è obbligatorio.

D:
Progetti e documenti in rilievo
Corso di Perl Progetto pod2it
D:
La ML di Perl.it
mongers@perl.it è la lista ufficiale di Perl Mongers Italia per porre quesiti di tipo tecnico, per rimanere aggiornato su meeting, incontri, manifestazioni e novità su Perl.it.
Iscriviti!
D:
Annunci Google