..


Rėmėjų nuorodos

Reguliaraus išraiška ISAPI perrašymas filtras

Straipsnį parašė Max Bossi
Puslapis 1 iš 3

Į ankstesniame straipsnyje mano draugas ir kolega Luca Ruggiero mes matėme, kaip pradėti dirbti su ISAPI filtrą perrašyti URL IIS.

Šis straipsnis stovi kaip tolesnio kelio jau pradėjo rūšiuoti ir siekiama paaiškinti šiek tiek "teorija, kad leidžia jums parašyti instrukcijas perrašyti vis sudėtingesnė ir sujungtas su reguliarios išraiškos paramą.

Specialūs simboliai

Mes pradėti matyti CD. specialius simbolius, ty tų ženklų, kurie turi ypatingą reikšmę, atsižvelgiant į jų klasikinės vertės tekstas:

Pobūdis Reikšmė
. Bet kokio pobūdžio
* Nulis arba daugiau pakartojimų simbolį į kairę
+ Vienas ar daugiau pakartojimų simbolį į kairę
? Simbolį į kairę gali būti ar ne
| Pasirinkimas tarp to, kas yra teisinga ir kairėje
^ Į viršų linijos arba simbolio neigimo, jei naudojamas per simbolių rinkinys
$ Eilutės pabaigos
(E) Jie naudojami sukurti sub-išsireiškimais arba nustatyti kintamasis, kuris bus vadinamas su $ N
{Ir} Jie naudojami nurodyti mažiausią ir didžiausią ilgį eilutę į kairę
[Ir] Jame yra simbolių rinkinys

Keletas pavyzdžių, siekiant geriau suprasti šių specialių simbolių reikšmę.
 



 .

 
Reiškia bet kokio pobūdžio, ir todėl sutinka (uno!) bet kokio pobūdžio.
 



 .*

 
Išraiškos pirmiau visada patikrinti, nes ji pripažįsta tuščia eilutė yra bet kokia eilutė, kaip mūsų simbolika apima pakartoti neribotam laikotarpiui (nuo nulio iki begalybės), bet simbolius.
 



 ab *

 
Ši sąvoka yra išbandyta su šiais rezultatais: "", "AB", "ABB", "abbb", "abbbb ",...
 



 AB +

 
Įvyksta su "AB", "ABB", "abbb ",... bet ne su "A"!
 



 AB?

 
Įvyksta su "a" arba "AB".
 



 {AB} 2,4

 
Įvyksta su "ABB", "abbb", "abbbb".
 



 ^ A *

 
Būna su styginių, kad prasideda raide "A"
 



 .* Z $

 
Būna su styginių, kuris baigiasi raide "Z"
 



 ^ C * $

 
Būna su bet eilutę, kuri prasideda su "C" ir baigiasi raide "a". Pavyzdžiui: "Pradžia", "knyga", "klijai", ir tt.
 



 ABC | def

 
Įvyksta su "ABC" ar "def"
 



 (b | c)

 
Įvyksta su "AB" arba "AC". Norint tai pasiekti, mes naudojo skliausteliuose poros sukurti sub-raiškos kontempliacija, mūsų pavyzdžiui, tarp "b" ir "C" pasirinkimas
 



 [AZ]

 
Su laužtiniuose skliaustuose naudoti sukūrėme simbolių rinkinį. Mūsų pavyzdyje mes pateikėme simbolių nuo "" iki "z" diapazoną ir tada apima visą abėcėlę.
Atkreipkite dėmesį, kad "Z" naudojimas nėra lygus "Z", kaip pirmuoju atveju mes rungtynes ​​tik mažosiomis raidėmis tik tuo atveju, pastarosios.
 



 [A-Za-Z]

 
Išraiškos pirmiau, tačiau, rodo mums, kaip priimti visus šiuos abėcėlės simbolius yra didžiųjų ir mažųjų raidžių.
 



 [0-9]

 
Ši sąvoka apima bet nuo 0 iki 9 skaičių.

 



 [^ 0-9]

 
Ši sąvoka apima bet išskyrus numeriai pobūdžio. Mes tai padarė naudodamiesi neigimas, ne mūsų rinkinį, specialų simbolį ^ pradžioje.

Akivaizdu, kad organizuojant ir derinant įvairias Aukščiau pateiktame pavyzdyje jūs pastebėsite, kad galima prognozuoti beveik begalinis skaičius galimybes.

Galiausiai, žinoma, mes turime apsvarstyti galimybę, kad simbolių matyti iš pirmiau, mes galime tarnauti savo klasikiniu vertę, ty kaip tik simbolius. Šiuo atveju mes pasinaudoti pabėgti simbolis (\) prieš specialų simbolį, kad mes norime naudoti kaip bendro pobūdžio.
Pavyzdžiui, mes matome, kaip rašyti, į esepressione forma, eilutė "puslapis.html". Kaip mes žinome, kad taškas yra specialių simbolių, todėl lengva naudoti, kaip tašką, mes turime tai padaryti:

 



 puslapis \. html

 
Atkreipkite dėmesį, žinoma, kad tas pats pabėgti personažas, savo ruožtu, ypatingą pobūdį ir todėl, jei norite naudoti jį savo pažodinis bendrą vertę, mes turime pasinaudoti dvigubo pabėgti:
 



 \ \

 

Tos pačios kategorijos ...
E-mokymasis
ASP (Advanced) ASP (Advanced)
Visas kursas sukurti dinaminius interneto svetainių. Nuo 39 €.
ASP Zero (Ebook) ASP Zero (Ebook)
Mokymosi Microsoft ASP ir VBScript nuo nulio. Ne tik 29 €.
ASP.NET (kurso) ASP.NET (kurso)
Visas kursas statybos interneto programų nuo 49 €.
Rėmėjų nuorodos