DevTrain Startseite Advanced Developers Conference vom 14.-15. Februar 2011  
  
  
SUCHEN:  
ARTIKEL ONLINE: 525   

Kategorien
.NET
Datenbanken
Web
XML

Allgemein
Camp
Foren
Events
Persönliche Einstellungen
Registrieren
Prämien Shop
Kontakt
Impressum
Über DevTrain

Autoren


   Autor: Hannes Preishuber Artikel Drucken
        
Regular Expression Support in ASP

Regular Expressions sind allgemein schon älter im Microsoft Umfeld aber erst seit der VBScript Version 5.0 verfügbar. Um die aktuellste VBScript Version zu installieren, können Sie diese Downloaden unter

http://msdn.microsoft.com/scripting/ 

Wer schon mit z.B. mit Perl gearbeitet hat, wird diese eventuell schon kennen. Auf den ersten Blick verwirrt einen die Syntax enorm. Historisch waren schon in frühen UNIX Versionen speziell im Editor VI für Textsuche die Regular Expressions vorhanden und beliebt (nicht beim mir). Im Microsoft Umfeld untersützt der InterDev Editor und JScript seit einige Zeit Regular Expressions und eben jetzt auch VBScript.

Die Regular Expressions sind eine definierte komplexe Sprache die auf Steuerzeichen basiert um Texte zu durchsuchen. Auch das ersetzen von Texten mit z.B. dem Replace Befehl lässt sich damit lösen.

Er Sprachumfang ist sehr groß und lässt sich in Kategorien teilen.

  1. Zeichenübereinstimmung
  2. Wiederholung
  3. Position

Zeichenübereinstimmung:(Character Matching)
Beginnen wir doch mit dem einfachsten. Sie wollen nach "ppedv" suchen. Die Expression ist:

ppedv

Wenn Sie einen Asterix (Joker) verwenden wollen, können Sie ein Steuerzeichen einsetzen.

p.edv  

Der "." liefert alle ppedv,pvedv, p1edv usw

Sie können in einer eckigen Klammer auch Ausdrücke eingeben die einen Bereich beschreiben. In

diesem Beispiel nehmen wir eine Liste von möglichen Zeichen.

[1234]edv

Dies lässt zu: 1edv,2edv,3edv,4edv. Ein Ausdruck 5edv würde nicht angezeigt.

Um nun einen kompletten Bereich anzugeben, kann der Startwert und Endwert verwendet werden.

[0-9]edv

Dies gilt auch für Buchstaben.

[a-g]edv

Zu beachten ist, das die Expression Case Sensitive sind.

Wiederholung(Repetition Matching):

Schwieriger wird es mit Stringoperationen wenn die Abfragen komplexer werden.
So möchten Sie vielleicht ein bestimmtes Zeichen ignorieren. Die ist mit dem ? möglich.

pp?  

Würde pp, pp1, ppa,pp0 usw liefern.

Mit dem zusätzlichen \ können Sie das ? maskieren.

ppedv\?  


Wenn Sie in der Form eines Likes und % aus SQL vorgehen möchten, können Sie den * verwenden

pp*  

Damit erhalten Sie pp, ppedv, pppppp. Um eine Gruppierung vorzunehmen können Klammern verwendent werden.

pp(edv)*  

Damit ist das pp fest und Sie würden erhalten pp,ppedv, ppedvedv,ppedvedvedv

Sie können auch die Anzahl der über die {} angeben. Wenn Sie Strings wie pppedv zurück erhalten wollen schreiben Sie

p{3}edv

Postion(Position Matching)
Die letzte Steigerungsstufe ist die Postion. Wenn Sie auf die ersten Zeichen prüfen wollen verwenden Sie das ^.

^ppedv

Um von hinten anzufangen bzw nur den String zu erhalten wenn am Schluss die übereinstimmung ist, verwenden Sie das $ Symbol.

ppedv$  

Dies ist bestenfalls ein Auszug aus der umfangreichen Syntax. Interesannte Beispiele und Ergänzungen können jederzeit über die Foren kommuniziert werden.Wie verwenden Sie jetzt aber die Regular Expressions? Das wird über einen eigenen Objekttyp realisiert.

Dim oRegExp
Set oRegExp = New regexp

Dazu mehr im nächsten Artikel


 


DevTrain Camp - Schneller zum .NET 3.5 Developer
 
Verwandte Artikel      Verlinkte Dokumente
    Keine verknüpften Dokumente
    Keine Links vorhanden

  Erfasst am: 18.04.2001
  Gültig bis: 18.05.2001
47 Ratings
Bewertung: 89,8%
schlecht    sehr gut  

 
© Copyright 2007 ppedv AG