tuple_regexp_testtuple_regexp_testTupleRegexpTestTupleRegexpTesttuple_regexp_test (Operator)

Name

tuple_regexp_testtuple_regexp_testTupleRegexpTestTupleRegexpTesttuple_regexp_test — 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)

def tuple_regexp_test(data: MaybeSequence[str], expression: MaybeSequence[str]) -> int

Beschreibung

tuple_regexp_testtuple_regexp_testTupleRegexpTestTupleRegexpTestTupleRegexpTesttuple_regexp_test wendet den regulären Ausdruck ExpressionExpressionExpressionExpressionexpressionexpression auf eine oder mehrere Zeichenketten in DataDataDataDatadatadata an, und gibt die Anzahl der Elemente, die eine dem Suchmuster entsprechende Teilzeichenkette enthalten, in NumMatchesNumMatchesNumMatchesNumMatchesnumMatchesnum_matches 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_matchTupleRegexpMatchTupleRegexpMatchTupleRegexpMatchtuple_regexp_match verwiesen. Zusätzlich unterstützt der Operator tuple_regexp_testtuple_regexp_testTupleRegexpTestTupleRegexpTestTupleRegexpTesttuple_regexp_test noch die Option 'invert_match'"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")set_system("tsp_tuple_string_operator_mode","byte") in einen Byte-Modus umgeschaltet werden. Wenn 'filename_encoding'"filename_encoding""filename_encoding""filename_encoding""filename_encoding""filename_encoding" auf 'locale'"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_testTupleRegexpTestTupleRegexpTestTupleRegexpTesttuple_regexp_test, die innerhalb eines Ausdrucks in der folgenden Syntax verwendet werden kann:

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

Ausführungsinformationen

Parameter

DataDataDataDatadatadata (input_control)  string(-array) HTupleMaybeSequence[str]HTupleHtuple (string) (string) (HString) (char*)

Eingabezeichenketten, auf die das Suchmuster angewendet wird

ExpressionExpressionExpressionExpressionexpressionexpression (input_control)  string(-array) HTupleMaybeSequence[str]HTupleHtuple (string) (string) (HString) (char*)

Regulärer Ausdruck.

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

Wertevorschläge: '.*'".*"".*"".*"".*"".*", 'invert_match'"invert_match""invert_match""invert_match""invert_match""invert_match", 'ignore_case'"ignore_case""ignore_case""ignore_case""ignore_case""ignore_case", 'multiline'"multiline""multiline""multiline""multiline""multiline", 'dot_matches_all'"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_lf", 'newline_crlf'"newline_crlf""newline_crlf""newline_crlf""newline_crlf""newline_crlf", 'newline_cr'"newline_cr""newline_cr""newline_cr""newline_cr""newline_cr"

NumMatchesNumMatchesNumMatchesNumMatchesnumMatchesnum_matches (output_control)  integer HTupleintHTupleHtuple (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_strstrTupleStrstrTupleStrstrTupleStrstrtuple_strstr

Siehe auch

tuple_regexp_matchtuple_regexp_matchTupleRegexpMatchTupleRegexpMatchTupleRegexpMatchtuple_regexp_match, tuple_regexp_replacetuple_regexp_replaceTupleRegexpReplaceTupleRegexpReplaceTupleRegexpReplacetuple_regexp_replace, tuple_regexp_selecttuple_regexp_selectTupleRegexpSelectTupleRegexpSelectTupleRegexpSelecttuple_regexp_select

Modul

Foundation