tuple_regexp_select
— Auswählen von Tupelelementen, die einem regulären Ausdruck entsprechen.
tuple_regexp_select( : : Data, Expression : Selection)
tuple_regexp_select
wendet den regulären Ausdruck Expression
auf eine oder mehrere Zeichenketten in Data
an, und gibt die
Elemente, die eine dem Suchmuster entsprechende Teilzeichenkette enthalten,
in Selection
zurück. Dies ist ein bequemer Weg, um z.B. ein über
den Operator list_files
erhaltenes Tupel von Dateinamen zu filtern.
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 ausgewählt
werden, die dem Suchmuster nicht entsprechen.
Für allgemeine Informationen zu String-Operationen siehe auch Tupel / String-Operationen.
Falls das Eingabetupel leer ist, gibt der Operator ein leeres Tupel 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_select
,
die innerhalb eines Ausdrucks in der folgenden Syntax verwendet werden
kann:
Selection := regexp_select(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'
Selection
(output_control) string(-array) →
(string)
Zeichenketten mit Übereinstimmung
tuple_regexp_select (['.','..','mydir','a.png','b.txt','c.bmp','d.dat'], \ '.(bmp|png)', Result) * Returns ['a.png','c.bmp'] tuple_regexp_select (Files, ['training','invert_match'], Matches) * Returns all file names that do *not* contain the string 'training'
tuple_regexp_match
,
tuple_regexp_replace
,
tuple_regexp_test
Foundation