..


Sponzorované odkazy

Regulárny výraz pre filter ISAPI Prepíšte

Článok napísal Max Bossi
Strana 1 z 3

V predchádzajúcom článku o môj priateľ a kolega Luca Ruggiero sme videli, ako začať pracovať s ISAPI filter pre prepisovanie adries URL na IIS.

Tento článok stojí za akési pokračovanie cesty už začala a jej cieľom je vysvetliť trochu "teórie, aby bolo možné zapísať pokyny na prepracovanie čoraz zložitejšie a artikuloval s podporou regulárnych výrazov.

Špeciálne znaky

Začneme tým, že vidí na CD. špeciálne znaky, tj znaky, ktoré majú osobitný význam v súvislosti s ich klasickou hodnotu text:

Znak Význam
. Ľubovoľný znak
* Nula alebo viac opakovaní znaku vľavo
+ Jeden alebo viac opakovaní znaku vľavo
? Znak na ľavej strane môže byť prítomný, alebo nie
| Voľba medzi tým, čo je pravou a ľavou
^ Späť na začiatok riadku alebo symbolu odmietnutie Ak je použitá v súbore znakov
$ Koniec riadku
(E) Používajú sa na vytvorenie sub-výrazy alebo identifikovať premenné, ktoré potom bude volaná s $ N
{A} Používajú sa pre indikáciu minimálnu a maximálnu dĺžku reťazca doľava
[A] Obsahuje súbor znakov

Niekoľko príkladov pre lepšie pochopenie významu týchto špeciálnych znakov.
 



 .

 
Znamená akýkoľvek znak, a preto prijíma (uno!) ľubovoľný znak.
 



 .*

 
Výraz hore sa vždy overuje, pretože prijíma prázdny reťazec je ľubovoľný reťazec, ako naše symbolika obsahuje nekonečné množstvo opakovaní (od nuly do nekonečna) akýchkoľvek znakov.
 



 ab *

 
Tento výraz je testovaný s nasledovnými výsledkami: "A", "AB", "ABB", "abbb", "abbbb ",...
 



 AB +

 
Nastane s "AB", "ABB", "abbb ",... ale nie s "a"!
 



 ab?

 
Vyskytuje sa u "A" alebo "AB".
 



 {Ab} 2,4

 
Vyskytuje sa "ABB", "abbb", "abbbb".
 



 ^ A. *

 
Vyskytuje sa s reťazcami, ktorý začína písmenom "A"
 



 Z .* $

 
Vyskytuje sa s reťazec, ktorý končí písmenom "z"
 



 ^ C * $

 
Vyskytuje sa s reťazcami, ktorý začína "C" a končí písmenom "A". Napríklad: "home", "Papier", "lepidlo", atp.
 



 abc | def

 
Nastane s "abc" alebo "def"
 



 (B | c)

 
Nastane s "AB" alebo "AC". Na dosiahnutie tohto cieľa sme použili pár zátvoriek vytvoriť sub-výraz v kontemplácii, v našom prípade na výber medzi "b" a "C"
 



 [AZ]

 
S použitím hranatých zátvoriek sme vytvorili sadu znakov. V našom príklade sme poskytli množstvo postáv od "A" až "z" a zahŕňa celú abecedu.
Všimnite si, že použitie "Z" sa nerovná "Z" ako v prvom prípade budeme odpovedať iba malé písmená v druhom len s prípadom.
 



 [A-zA-Z]

 
Výraz vyššie, však ukazuje nám, ako prijímať všetky tieto znaky abecedy, sú malé a veľké písmená.
 



 [0-9]

 
Tento výraz zahŕňa ľubovoľné číslo od 0 do 9.

 



 [^ 0-9]

 
Tento výraz zahŕňa ľubovoľný znak okrem čísel. Urobili sme to pomocou popretie, na začiatku nášho nastavenia, špeciálny znak ^.

Je zrejmé, že zabezpečenie a kombinovať jednotlivé vyššie uvedenom príklade si všimnite, že to je možné predpovedať takmer nekonečné množstvo možností.

Nakoniec, samozrejme, musíme vziať do úvahy možnosť, že postavy vyplýva z vyššie uvedeného môžeme slúžiť v klasickej hodnoty, tj ako obyčajné znaky. V tomto prípade využiť escape znak (\) pred špeciálny znak, ktorý chceme použiť ako spoločný znak.
Napríklad vidíme, ako písať, v podobe esepressione, reťazec "stranka.html". Ako vieme, že bod je špeciálny znak, a teda ľahko použiť ako bod, musíme urobiť toto:

 



 stránka \ HTML.

 
Všimnite si, samozrejme, že rovnaký znak escape je, podľa poradia, špeciálny znak, a preto, ak chcete použiť v doslovnom spoločnú hodnotu, musíme sa obrátiť na dvojaký útek:
 



 \ \

 

V rovnakej kategórii ...
E-Learning
ASP (Advanced) ASP (Advanced)
Celý kurz pre vytváranie dynamických webov. Od 39 €.
ASP Zero (ebook) ASP Zero (ebook)
Učenie Microsoft ASP a VBScript od nuly. V pouhých 29 €.
ASP.NET (kurz) ASP.NET (kurz)
Celý kurz pre vytváranie webových aplikácií od 49 €.
Sponzorované odkazy