..


Sponzorované odkazy

Regulární výraz pro filtr ISAPI Přepište

Článek napsal Max Bossi
Strana 1 z 3

V předchozím článku o můj přítel a kolega Luca Ruggiero jsme viděli, jak začít pracovat s ISAPI filtr pro přepisování adres URL na IIS.

Tento článek stojí za jakési pokračování cesty již začala a jejím cílem je vysvětlit trochu "teorie, aby bylo možné zapsat pokyny k přepracování stále složitější a artikuloval s podporou regulárních výrazů.

Speciální znaky

Začneme tím, že vidí na CD. speciální znaky, tj. znaky, které mají zvláštní význam v souvislosti s jejich klasickou hodnotu text:

Znak Význam
. Libovolný znak
* Nula nebo více opakování znaku vlevo
+ Jeden nebo více opakování znaku vlevo
? Znak na levé straně může být přítomen, nebo ne
| Volba mezi tím, co je pravou a levou
^ Zpět na začátek řádku nebo symbolu odmítnutí Pokud je použita v souboru znaků
$ Konec řádku
(E) Používají se k vytvoření sub-výrazy nebo identifikovat proměnné, které pak bude volána s $ N
{A} Používají se pro indikaci minimální a maximální délku řetězce doleva
[A] Obsahuje soubor znaků

Několik příkladů pro lepší pochopení významu těchto speciálních znaků.
 



 .

 
Znamená jakýkoliv znak, a proto přijímá (uno!) libovolný znak.
 



 .*

 
Výraz nahoře se vždy ověřuje, protože přijímá prázdný řetězec je libovolný řetězec, jako naše symbolika obsahuje nekonečné množství opakování (od nuly do nekonečna) jakýchkoliv znaků.
 



 ab *

 
Tento výraz je testován s následujícími výsledky: "A", "AB", "ABB", "abbb", "abbbb ",...
 



 AB +

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



 ab?

 
Vyskytuje se u "A" nebo "AB".
 



 {Ab} 2,4

 
Vyskytuje se "ABB", "abbb", "abbbb".
 



 ^ A. *

 
Vyskytuje se s řetězci, který začíná písmenem "A"
 



 Z .* $

 
Vyskytuje se s řetězec, který končí písmenem "z"
 



 ^ C * $

 
Vyskytuje se s řetězci, který začíná "C" a končí písmenem "A". Například: "home", "Papír", "lepidlo", atp.
 



 abc | def

 
Nastane s "abc" nebo "def"
 



 (b | c)

 
Nastane s "AB" nebo "AC". K dosažení tohoto cíle jsme použili pár závorek vytvořit sub-výraz v kontemplaci, v našem případě na výběr mezi "b" a "C"
 



 [AZ]

 
S použitím hranatých závorek jsme vytvořili sadu znaků. V našem příkladu jsme poskytli řadu postav od "A" až "z" a zahrnuje celou abecedu.
Všimněte si, že použití "Z" se nerovná "Z" jako v prvním případě budeme odpovídat pouze malá písmena v druhém pouze s případem.
 



 [A-zA-Z]

 
Výraz výše, však ukazuje nám, jak přijímat všechny tyto znaky abecedy, jsou malá a velká písmena.
 



 [0-9]

 
Tento výraz zahrnuje libovolné číslo od 0 do 9.

 



 [^ 0-9]

 
Tento výraz zahrnuje libovolný znak kromě čísel. Udělali jsme to pomocí popření, na začátku našeho nastavení, speciální znak ^.

Je zřejmé, že zajištění a kombinovat jednotlivé výše uvedeném příkladu si všimněte, že to je možné předpovídat téměř nekonečné množství možností.

Nakonec, samozřejmě, musíme vzít v úvahu možnost, že postavy vyplývá z výše uvedeného můžeme sloužit v klasické hodnoty, tj. jako pouhé znaky. V tomto případě využít escape znak (\) před speciální znak, který chceme použít jako společný znak.
Například vidíme, jak psát, v podobě esepressione, řetězec "stranka.html". Jak víme, že bod je speciální znak, a tedy snadno použít jako bod, musíme udělat toto:

 



 stránka \ HTML.

 
Všimněte si, samozřejmě, že stejný znak escape je naopak, speciální znak, a proto, chcete-li použít v doslovném společnou hodnotu, musíme se obrátit na dvojí útěk:
 



 \ \

 

Ve stejné kategorii ...
E-Learning
ASP (Advanced) ASP (Advanced)
Celý kurz pro vytváření dynamických webů. Od 39 €.
ASP Zero (ebook) ASP Zero (ebook)
Učení Microsoft ASP a VBScript od nuly. V pouhých 29 €.
ASP.NET (kurz) ASP.NET (kurz)
Celý kurz pro vytváření webových aplikací od 49 €.
Sponzorované odkazy