HTML Tutorials |
|
XML Tutorials |
|
Browser Scripting |
|
Server Scripting |
|
.NET (dotnet) |
|
Multimedia |
|
Web Building |
|
Java Tutorials |
|
Programming Langauges |
|
Soft Skills |
|
Database Tutorials |
|
Operating System |
|
Software Testing |
|
SAP Module |
|
Networking Programming |
|
Microsoft Office |
|
Accounting |
|
|
Substitution de corde dans le Perl |
Avec l'identification le Perl r�gulier d'expressions peut faire des substitutions bas�es sur ces matchs.
|
Ceci est fait en utilisant la fonction de � s � qui a �t� con�ue pour imiter la mani�re que la substitution est faite dans l'�diteur du texte vi. Ici encore l'op�rateur de match est fait utilis�, et encore si elle est omise alors on assume que la substitution a lieu avec le $_ variable. Pour remplacer de Londres par Londres dans la corde $sntnce nous employons l'expression suivante
|
$sntnce =~ s/london/London/
and to do the same thing with the $_ variable just
s/london/London/
|
|
Noter que les les deux les expressions r�guli�res (Londres et Londres) sont entour�es par un total de trois estafilades. Le nombre de substitutions faites est le r�sultat de cette expression, ainsi l'un ou l'autre il est 0 (faux) ou 1 (vrai) dans ce cas-ci.
|
Options de Perl
|
L'exemple suivant remplace seulement la premi�re occurrence de la corde, et il peut y avoir plus d'une telle corde que nous voulons remplacer. La derni�re estafilade est suivie de � g � pour faire une substitution globale comme suit.
|
s/london/London/g
If we want to also replace occurrences of lOndon, lonDON, LoNDoN and so on then we could
use
s/[Ll][Oo][Nn][Dd][Oo][Nn]/London/g
but an easier way is to use the i option (for "ignore case"). The expression
s/london/London/gi
will make a global substitution ignoring case. The i option is also used in the
basic /.../ regular expression match.
|
|
Se rappeler des mod�les
|
Il sera utile si nous nous rappelons les mod�les qui ont �t� assortis de sorte qu'ils puissent �tre employ�s encore � l'avenir. Il se produit juste que quelque chose qui obtient assorti entre parenth�ses est rappel� dans les variables $1,�, $9. En employant le sp�cial AU SUJET des codes \ 1,�, \ 9 ces cordes peut �tre �galement employ� dans la m�me expression r�guli�re (ou la substitution). nous laisser cosider par exemple :
|
$_ = "Lord Whopper of Fibbing";
s/([A-Z])/:\1:/g;
print "$_\n";
|
|
Elle remplacera chaque lettre majuscule par ces lettres entour�es par des deux points. Elle imprimera : L : ord : W : distributeur de : F : ibbing. Toutes variables de $1,�, $9 sont des variables inalt�rables ; donc vous ne pouvez pas les changer vous-m�me
|
Cosider l'exemple suivant.
|
if (/(\b.+\b) \1/)
{
print "Found $1 repeated\n";
}
|
|
Ceci identifiera les mots l'uns des qui sont r�p�t�s. Chacun \ b repr�sente une fronti�re de mot et. + cordes non vides l'unes des de matchs, ainsi \ b.+ \ matchs quelque chose de b entre les fronti�res de deux mots. Ceci est alors rappel� par des parenth�ses et pour par expressions stock� comme r�gulier \ 1 et pour le reste du programme en tant que $1.
|
La ligne suivante permutent les premiers et derniers caract�res d'une ligne en $ variable _ :
|
|
Le commencement et la fin de la ligne sont assortis par le ^ et le $. Le premier caract�re est dans stock� \ 1 code, tout autrement jusqu'au dernier caract�re est stock� en code \ 2. ce qui est stock� dans le code \ 3. Alors la ligne enti�re est avec remplac� \ 3 et \ 1 permut�e en rond.
|
Apr�s qu'un match soit trouv�, vous pouvez employer le `de $ de variables et le $& et le $ ' qui est variable inalt�rable sp�ciale pour d�couvrir avant ce qui a �t� assorti, pendant et apr�s la recherche.
|
$_ = "Lord Whopper of Fibbing";
/pp/;
|
|
Tous les rapports suivants sont vrais. (Se rappeler que l'eq est un essai de corde-�galit�.)
|
$` eq "Lord Wo";
$& eq "pp";
$' eq "er of Fibbing";
|
|
Au sujet de se rappeler des mod�les il est �galement int�ressant savoir cela � l'int�rieur de des estafilades d'un match ou des variables d'une substitution sont interpol�es.
|
$search = "the";
s/$search/xxx/g;
|
|
Cette ligne remplacera xxx avec chaque occurrence de � �. Si vous souhaitez remplacer chaque occurence de � l� � puis vous ne pouvez pas faire cela qui emploie s/$searchre/xxx/, parce que ceci sera interpol� comme � $searchre � variable. Pour ceci vous devriez mettre les noms variables dans les croisillons boucl�s de sorte que le code devienne :
|
$search = "the";
s/${search}re/xxx/;
|
|
Traduction dans le Perl
|
la traduction de Caract�re-par-caract�re est faite par la fonction de TR. Dans l'expression suivante chaque a est remplac� avec e, chaque b avec d, et c avec f dans le $sntnce variable. L'expression renvoie le nombre de substitutions faites.
|
|
Les la plupart du sp�cial AU SUJET des codes ne sont pas applicables dans la fonction de TR. Consid�rons par exemple, ici les comptes de rapport le nombre d'ast�risques actuels dans le $sntnce variable et les magasins qui dans le $count variable.
|
$count = ($sntnce =~ tr/*/*/);
However, the "-" is still used to mean "between". This statement converts $_ to upper
case.
tr/a-z/A-Z/;
|
|
Keywords:perl tutorial, perl scripts, perl programming, active perl, perl download,
blackberry perl, perl regular expressions, perl split, perl array, perl script page
|
|
HTML Quizes |
|
XML Quizes |
|
Browser Scripting Quizes |
|
Server Scripting Quizes |
|
.NET (dotnet) Quizes |
|
Multimedia Quizes |
|
Web Building Quizes |
|
Java Quizes |
|
Programming Langauges Quizes |
|
Soft Skills Quizes |
|
Database Quizes |
|
Operating System Quizes |
|
Software Testing Quizes |
|
SAP Module Quizes |
|
Networking Programming Quizes |
|
Microsoft Office Quizes |
|
Accounting Quizes |
|
|