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
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
- Multithreading-Typ: independent (läuft parallel auch zu exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
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