Match regex

4D - Documentation   Français   English   German   Spanish   Japanese   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next

Version 11


Match regex (Muster; spezString{; Start; Pos_gefunden; Länge_gefunden; *}) Boolean

ParameterTypBeschreibung
MusterTextRegular expression
spezStringTextString, in dem die Suche
ausgeführt wird
StartZahlPosition im String, wo die Suche beginnt
Pos_gefundenLange GZ Var | ArrPosition des Vorkommens
Länge_gefundenLange GZ Var | ArrLänge des Vorkommens
**Mit *: Nur Suche an der
angegebenen Position
FunktionsergebnisBooleanWahr = Suche hat 1 Vorkommen gefunden;
sonst Falsch.

Beschreibung

Mit der Funktion Match regex können Sie prüfen, ob eine Zeichenkette mit den analysierenden Regeln einer Meta-Sprache, genannt „regular expression" oder „rational expression", übereinstimmt. Diese werden in der Regel mit dem Begriff regex abgekürzt.

In Muster übergeben Sie den regulären Ausdruck für die Suche. Das ist eine Zeichenkette, die den Ausdruck mit spezifischen Zeichen beschreibt.

In spezString übergeben Sie den String für die Suche nach dem regulären Ausdruck.

In Start geben Sie die Position für den Suchbeginn der Suche in spezString an.

Sind die Parameter Pos_gefunden und Länge_gefunden Variablen, gibt die Funktion darin Position und Länge des Vorkommens zurück. Bei Arrays gibt die Funktion in Element Null der Arrays Position und Länge des Vorkommens zurück, in den darauffolgenden Elementen Position und Länge der Gruppen, die der reguläre Ausdruck gefunden hat.

Mit dem optionalen Parameter * legen Sie fest, dass die Suche nur an der in Start angegebenen Position ausgeführt werden soll, ohne weiter zu suchen, falls hier nichts Passendes gefunden wird.

Die Funktion gibt Wahr zurück, wenn die Suche ein Vorkommen gefunden hat.

Weitere Informationen über Regex finden Sie im Internet unter:

http://en.wikipedia.org/wiki/Regular_expression

Weitere Informationen zur Syntax regulärer Ausdrücke im Parameter Muster finden Sie im Internet unter:

http://www.icu-project.org/userguide/regexp.html

Beispiele

Diese Funktion bietet verschiedene Einsatzmöglichkeiten:

1. Nach kompletter Übereinstimmung suchen:

vfound:=Match regex(pattern;mytext)

   QUERY BY FORMULA([Employees];Match regex(".*smith.*"; [Employees]name))

2. In Text nach Start suchen:

vfound:=Match regex( pattern;mytext; start; pos_found; length_found)

Beispiel zur Anzeige aller Tags in $1:

   start:=1
   Repeat
      vfound:=Match regex("<.*>";$1;start;pos_found;length_found)
      If(vfound)
         ALERT(Substring($1;pos_found;length_found))
         start:=pos_found+length_found
      End if
   Until(Not(vfound))

3 .Suche mit Unterstützung von "capture groups":

vfound:=Match regex( pattern;mytext; start; pos_found_array; length_found_array)

   ARRAY LONGINT(pos_found_array;0)
   ARRAY LONGINT(length_found_array;0)
   vfound:=Match regex("(.*)stuff(.*)";$1;1;pos_found_array; length_found_array)
   If(vfound)
      $group1:=Substring($1;pos_found_array{1};length_found_array{1})
      $group2:=Substring($1;pos_found_array{2};length_found_array{2})
   End if

4. Suche beschränkt auf das Muster an der angegebenen Position:

Fügen Sie am Ende einer der beiden vorigen Syntaxarten einen Stern hinzu.

   vfound:=Match regex("a.b";"---a-b---";1;$pos_found;$length_found)
      `returns True
   vfound:=Match regex("a.b";"---a-b---";1;$pos_found;$length_found;*)
      `returns False
   vfound:=Match regex("a.b";"---a-b---";4;$pos_found;$length_found;*)
      `returns True

Hinweis: Die zurückgegebenen Positionen und Längen sind nur im Modus Unicode von Bedeutung oder wenn der Text in Bearbeitung vom 7-bit ASCII Typ ist.

Fehler verwalten

Tritt ein Fehler auf, erzeugt die Funktion einen Fehler, den Sie über eine mit dem Befehl ON ERR CALL installierte Methode abfangen kön-nen.

Anwendung des Befehls

Keyword Support in 4D v11 SQL, Optimizing File Parsing with Match regex, Using Match regex to Import CSV data


4D - Documentation   Français   English   German   Spanish   Japanese   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next