tuple_regexp_testtuple_regexp_testTupleRegexpTestTupleRegexpTest (Operator)

Name

tuple_regexp_testtuple_regexp_testTupleRegexpTestTupleRegexpTest — Testen, ob eine Zeichenkette einem regulären Ausdruck entspricht.

Signatur

tuple_regexp_test( : : Data, Expression : NumMatches)

Herror tuple_regexp_test(const char* Data, const char* Expression, Hlong* NumMatches)

Herror T_tuple_regexp_test(const Htuple Data, const Htuple Expression, Htuple* NumMatches)

void TupleRegexpTest(const HTuple& Data, const HTuple& Expression, HTuple* NumMatches)

HTuple HTuple::TupleRegexpTest(const HTuple& Expression) const

static void HOperatorSet.TupleRegexpTest(HTuple data, HTuple expression, out HTuple numMatches)

HTuple HTuple.TupleRegexpTest(HTuple expression)

Beschreibung

tuple_regexp_testtuple_regexp_testTupleRegexpTestTupleRegexpTestTupleRegexpTest wendet den regulären Ausdruck ExpressionExpressionExpressionExpressionexpression auf eine oder mehrere Zeichenketten in DataDataDataDatadata an, und gibt die Anzahl der Elemente, die eine dem Suchmuster entsprechende Teilzeichenkette enthalten, in NumMatchesNumMatchesNumMatchesNumMatchesnumMatches 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_matchtuple_regexp_matchTupleRegexpMatchTupleRegexpMatchTupleRegexpMatch verwiesen. Zusätzlich unterstützt der Operator tuple_regexp_testtuple_regexp_testTupleRegexpTestTupleRegexpTestTupleRegexpTest noch die Option 'invert_match'"invert_match""invert_match""invert_match""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.

Unicode Codepoints versus Bytes

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')set_system("tsp_tuple_string_operator_mode", "byte")SetSystem("tsp_tuple_string_operator_mode", "byte")SetSystem("tsp_tuple_string_operator_mode", "byte")SetSystem("tsp_tuple_string_operator_mode", "byte") in einen Byte-Modus umgeschaltet werden. Wenn 'filename_encoding'"filename_encoding""filename_encoding""filename_encoding""filename_encoding" auf 'locale'"locale""locale""locale""locale" gesetzt ist (legacy), verwendet dieser Operator immer den Byte-Modus.

HDevelop Inline-Operation

HDevelop unterstützt eine Inline-Operation für tuple_regexp_testtuple_regexp_testTupleRegexpTestTupleRegexpTestTupleRegexpTest, die innerhalb eines Ausdrucks in der folgenden Syntax verwendet werden kann:

NumMatches := regexp_test(Data, Expression) oder NumMatches := Data =~ Expression

Ausführungsinformationen

Parameter

DataDataDataDatadata (input_control)  string(-array) HTupleHTupleHtuple (string) (string) (HString) (char*)

Eingabezeichenketten, auf die das Suchmuster angewendet wird

ExpressionExpressionExpressionExpressionexpression (input_control)  string(-array) HTupleHTupleHtuple (string) (string) (HString) (char*)

Regulärer Ausdruck.

Defaultwert: '.*' ".*" ".*" ".*" ".*"

Wertevorschläge: '.*'".*"".*"".*"".*", 'invert_match'"invert_match""invert_match""invert_match""invert_match", 'ignore_case'"ignore_case""ignore_case""ignore_case""ignore_case", 'multiline'"multiline""multiline""multiline""multiline", 'dot_matches_all'"dot_matches_all""dot_matches_all""dot_matches_all""dot_matches_all", 'newline_lf'"newline_lf""newline_lf""newline_lf""newline_lf", 'newline_crlf'"newline_crlf""newline_crlf""newline_crlf""newline_crlf", 'newline_cr'"newline_cr""newline_cr""newline_cr""newline_cr"

NumMatchesNumMatchesNumMatchesNumMatchesnumMatches (output_control)  integer HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Anzahl der Zeichenketten mit Übereinstimmung

Beispiel (HDevelop)

tuple_regexp_test ('p10662599755', '[A-Z]*', Result)
* Returns 0

tuple_regexp_test ('p10662599755', ['[A-Z]*','ignore_case'], Result)
* Returns 1

Alternativen

tuple_strstrtuple_strstrTupleStrstrTupleStrstrTupleStrstr

Siehe auch

tuple_regexp_matchtuple_regexp_matchTupleRegexpMatchTupleRegexpMatchTupleRegexpMatch, tuple_regexp_replacetuple_regexp_replaceTupleRegexpReplaceTupleRegexpReplaceTupleRegexpReplace, tuple_regexp_selecttuple_regexp_selectTupleRegexpSelectTupleRegexpSelectTupleRegexpSelect

Modul

Foundation