tuple_regexp_test
— Testen, ob eine Zeichenkette einem regulären Ausdruck entspricht.
tuple_regexp_test( : : Data, Expression : NumMatches)
tuple_regexp_test
wendet den regulären Ausdruck Expression
auf eine oder mehrere Zeichenketten in Data
an, und gibt
die Anzahl der Elemente, die eine dem Suchmuster entsprechende
Teilzeichenkette enthalten, in NumMatches
zurück.
Insbesondere ist für eine einzelne Eingabe das Ergebnis 1, falls
die Zeichenkette eine Übereinstimmung enthält, ansonsten 0.
Für die Beschreibung von Syntax und Optionen des regulären Ausdrucks wird
auf die Dokumentation des Operators tuple_regexp_match
verwiesen.
Zusätzlich unterstützt der Operator tuple_regexp_test
noch die
Option 'invert_match' , mit der die Elemente gezählt werden,
die dem Suchmuster nicht entsprechen.
Für die bequeme Verwendung in einer Bedingung ist diese Funktionalität in HDevelop auch als Operator '=~' verfügbar.
Für allgemeine Informationen zu String-Operationen siehe auch Tupel / String-Operationen.
Falls das Eingabetupel leer ist, gibt der Operator 0 zurück.
Die Auswertung der regulären Ausdrücke berücksichtigt Unicode Codepoints.
Ein Codepoint kann aus mehreren Bytes im UTF-8 String zusammengesetzt sein.
Wenn die Auswertung der regulären Ausdrücke sich auf die Bytes des Strings
beziehen soll, kann dieser Operator mit
set_system('tsp_tuple_string_operator_mode', 'byte')
in einen
Byte-Modus umgeschaltet werden. Wenn 'filename_encoding' auf
'locale' gesetzt ist (legacy), verwendet dieser Operator immer den
Byte-Modus.
HDevelop unterstützt eine Inline-Operation für tuple_regexp_test
,
die innerhalb eines Ausdrucks in der folgenden Syntax verwendet werden
kann:
NumMatches := regexp_test(Data, Expression)
oder
NumMatches := Data =~ Expression
Data
(input_control) string(-array) →
(string)
Eingabezeichenketten, auf die das Suchmuster angewendet wird
Expression
(input_control) string(-array) →
(string)
Regulärer Ausdruck.
Defaultwert: '.*'
Wertevorschläge: '.*' , 'invert_match' , 'ignore_case' , 'multiline' , 'dot_matches_all' , 'newline_lf' , 'newline_crlf' , 'newline_cr'
NumMatches
(output_control) integer →
(integer)
Anzahl der Zeichenketten mit Übereinstimmung
tuple_regexp_test ('p10662599755', '[A-Z]*', Result) * Returns 0 tuple_regexp_test ('p10662599755', ['[A-Z]*','ignore_case'], Result) * Returns 1
tuple_regexp_match
,
tuple_regexp_replace
,
tuple_regexp_select
Foundation