..


Sponsrade länkar

Reguljära uttrycket för ISAPI Rewrite filter

Artikel skriven av Max Bossi
Sidan 1 av 3

I en tidigare artikel av min vän och kollega Luca Ruggiero såg vi hur man börjar arbeta med ISAPI-filter för att skriva om webbadresser på IIS.

Den här artikeln står som ett slags fortsättning på den väg som redan påbörjats och syftar till att förklara lite "teori för att tillåta dig att skriva instruktioner för omskrivning alltmer komplexa och ledade med stöd av reguljära uttryck.

Specialtecken

Vi börjar med att se cd. specialtecken, dvs de tecken som har speciell betydelse i förhållande till deras klassiska värde text:

Karaktär Betydelse
. Alla tecken
* Noll eller flera upprepningar av tecknet till vänster
+ En eller flera upprepningar av tecknet till vänster
? Tecknet till vänster kan vara närvarande eller inte
| Valet mellan vad som är rätt och vänster
^ Början av raden eller symbol för förnekelse om de används inom en uppsättning tecken
$ Slutet av raden
(E) De används för att skapa sub-uttryck, eller att identifiera den variabel som sedan kommer att kallas med $ N
{Och} De används för att ange minsta och största längd av strängen till vänster
[Och] Den innehåller en uppsättning tecken

Några exempel för att bättre förstå betydelsen av dessa specialtecken.
 



 .

 
Varje karaktär och godtar därför en (uno!) vilket tecken som helst.
 



 .*

 
Uttrycket ovan är alltid verifieras, eftersom det tar en tom sträng är en sträng, som vår symbology innehåller en upprepning på obestämd tid (från noll till oändlighet) av alla tecken.
 



 AB *

 
Detta uttryck har testats med följande resultat: "a", "ab", "ABB", "abbb", "abbbb ",...
 



 AB +

 
Sker med "AB", "ABB", "abbb ",... men inte med "en"!
 



 AB?

 
Sker med "en" eller "ab".
 



 {AB} 2,4

 
Sker med "ABB", "abbb", "abbbb".
 



 ^ A. *

 
Inträffar med någon sträng som börjar med bokstaven "a"
 



 .* Z $

 
Sker med valfri sträng som slutar med bokstaven "Z"
 



 ^ C * en $

 
Inträffar med någon sträng som börjar med "c" och slutar med bokstaven "A". Till exempel: "hem", "Papper", "lim", osv.
 



 abc | def

 
Sker med "abc" eller med "def"
 



 en (b | c)

 
Sker med "ab" eller med "AC". För att uppnå detta använde vi ett par parenteser för att skapa en sub-uttryck i kontemplation, i vårt exempel, valet mellan "b" och "c"
 



 [Az]

 
Med hjälp av hakparenteser har vi skapat en uppsättning tecken. I vårt exempel har vi tagit fram en rad figurer från "ett" med "z" och sedan omfattar hela alfabetet.
Observera att användningen av "Z" är inte lika med "Z" som i det första fallet vi kommer att matcha bara små bokstäver i den senare endast med fallet.
 



 [A-Za-Z]

 
Uttrycket ovan visar dock hur vi kan godta alla dessa alfabet tecken är inte skiftlägeskänsliga.
 



 [0-9]

 
Detta uttryck inkluderar alla nummer mellan 0 och 9.

 



 [^ 0-9]

 
Detta uttryck omfattar alla tecken utom nummer. Vi gjorde detta genom att använda förnekande, i början av vårt set, den speciella karaktär ^.

Självklart kommer arrangera och kombinera de olika exemplet ovan du märker att det är möjligt att förutsäga ett nästan oändligt antal möjligheter.

Slutligen, naturligtvis måste vi överväga möjligheten att tecknen visas ovan kan vi servera i sin klassiska värde, dvs som rena tecken. I det här fallet använder vi oss av escape-tecken (\) före den speciella karaktär som vi vill använda som en vanlig karaktär.
Till exempel ser vi hur man skriver, i form av esepressione, strängen "sida.html". Som vi vet punkten är en speciell karaktär och därför lätt att använda som en punkt vi måste göra detta:

 



 Sidan \. html

 
OBS, naturligtvis, att samma escape-tecknet är i sin tur en speciell karaktär och därför, om du vill använda den i dess bokstavliga gemensamt värde, måste vi ta hjälp av en dubbel-escape:
 



 \ \

 

I samma kategori ...
E-Learning
ASP (Advanced) ASP (Advanced)
Fullständig kurs för att skapa dynamiska webbplatser. Från 39 €.
ASP-Zero (ebook) ASP-Zero (ebook)
Att lära Microsoft ASP och VBScript från grunden. På endast 29 €.
ASP.NET (Kurs) ASP.NET (Kurs)
Fullständig kurs för att bygga webbapplikationer från 49 €.
Sponsrade länkar