..


Sponzorirani linkovi

Regularni izrazi za presnimavanje ISAPI filter

Članak je napisao Max Bossi
Stranica 1 od 3

U prethodnom članku moj prijatelj i kolega Luca Ruggiero smo vidjeli kako se početak rada s ISAPI filtera za URL prepisivanjem za IIS.

Ovaj članak stoji kao svojevrsni nastavak već započete staze i ima za cilj objasniti malo teorije kako bi se omogućilo da pisati upute za prepisivanjem sve kompleksnije i artikuliraju kroz potporu regularnih izraza.

Posebni znakovi

Počinjemo gledajući CD-a. posebne znakove, onih likova koji imaju posebno značenje s obzirom na njihovu vrijednost klasične tekst:

Karakter Značenje
. Bilo koji znak
* Nula ili više ponavljanja znaka s lijeve strane
+ Jedan ili više ponavlja karaktera s lijeve strane
? Znak ulijevo može biti prisutan ili ne
| Izbor između onoga što je desno i lijevo
^ Vrh linije ili simbol odricanja ako se unutar skupa znakova
$ Kraj retka
(S) Oni se koriste za stvaranje pod-izraze, ili identificirati varijable koje će biti pozvani s $ N
{I} Oni se koriste za označavanje minimalne i maksimalne duljine niza na lijevoj strani
[I] Ona sadrži skup znakova

Nekoliko primjera da bolje razumiju značenje tih posebnih znakova.
 



 .

 
Znači bilo koji znak i stoga prihvaća (uno!) bilo koji znak.
 



 .*

 
Izraz iznad uvijek provjeriti, jer prihvaća prazan niz je bilo koji niz, kao i naše simbologiju uključuje ponavljanje na neodređeno vrijeme (od nula do beskonačno) bilo znakova.
 



 * Ab

 
Ovaj izraz je testirana sa sljedećim rezultatima: "", "ab", "ABB", "abbb", "abbbb ",...
 



 ab +

 
Dolazi sa "ab", "ABB", "abbb ",... ali ne i sa ""!
 



 ab?

 
Dolazi sa "A" ili "ab".
 



 ab {2,4}

 
Javlja se s "ABB", "abbb", "abbbb".
 



 ^ * A.

 
Javlja se s bilo kojim nizom koji započinje sa slovom "a"
 



 Z $ .*

 
Javlja se s bilo kojim nizom koji završava sa slovom "Z"
 



 ^ C * $

 
Javlja se s bilo kojim nizom koji započinje sa "c" i završava sa slovom "a". Na primjer: "kuća", "papir", "ljepilo", i sl..
 



 ABC | def

 
Dolazi sa "ABC" ili "def"
 



 (b | c)

 
Dolazi sa "AB" ili "AC". Da bi to postigli smo se par zagrada za stvaranje pod-izraz u kontemplaciji, u našem primjeru, izbor između "B" i "c"
 



 [AZ]

 
Uz korištenje uglatim zagradama stvorili smo niz znakova. U našem primjeru smo ponudili niz znakova u rasponu od "A" do "Z", a zatim obuhvaća cijelu abecedu.
Imajte na umu da korištenje "z" nije jednako "AZ" u prvom slučaju kao što će odgovarati samo mala slova u drugoj samo slučaj.
 



 [A-Za-Z]

 
Izraz iznad, međutim, pokazuje nam kako prihvatiti sve likove su slučaja neosjetljiv.
 



 [0-9]

 
Ovaj pojam uključuje i bilo koji broj između 0 i 9.

 



 [^ 0-9]

 
Ovaj pojam uključuje bilo koji znak osim brojeva. Postigli smo to pomoću poricanje, na početku našeg skupa, posebni znak ^.

Očito, artikulira i kombiniranje različitih gornjem primjeru ćete primijetiti da je moguće predvidjeti gotovo beskonačan broj mogućnosti.

Konačno, naravno, moramo uzeti u obzir mogućnost da su likovi vidjeli možemo služiti u svojim klasičnim vrijednosti, tj. kao jednostavan znakova. U tom slučaju možemo koristiti prekidni znak (\) prije posebnih znakova želimo koristiti kao zajednički karakter.
Kao primjer možemo vidjeti kako pisati, u obliku esepressione, niz "stranica.html". Kao što znamo je točka posebnog znaka i, stoga, koristiti kao jednostavan točku moramo to učiniti:

 



 stranica \. html

 
Napomena, naravno, da se ista prekidni znak je, pak, posebni znak, i stoga, ako želite koristiti ga u doslovnom zajedničke vrijednosti, moramo pribjeći dvostruko pobjegao:
 



 \ \

 

U istoj kategoriji ...
E-učenje
ASP (Advanced) ASP (Advanced)
Cijeli tečaj za izradu dinamičkih Web stranica. Počevši od 39 €.
ASP Zero (Ebook) ASP Zero (Ebook)
Microsoft VBScript ASP i učiti od nule. U samo 29 €.
ASP.NET (tečaj) ASP.NET (tečaj)
Cijeli tečaj za izgradnju web aplikacija od 49 €.
Sponzorirani linkovi