ClassesClasses | | Operators

tuple_regexp_testtuple_regexp_testTupleRegexpTestTupleRegexpTest (Operator)

Name

tuple_regexp_testtuple_regexp_testTupleRegexpTestTupleRegexpTest — Test if a string matches a regular expression.

Signature

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)

Description

tuple_regexp_testtuple_regexp_testTupleRegexpTestTupleRegexpTestTupleRegexpTest applies the regular expression in ExpressionExpressionExpressionExpressionexpression to one or more input strings in DataDataDataDatadata, and returns the number of matching strings in NumMatchesNumMatchesNumMatchesNumMatchesnumMatches. In particular, the result for a single input string will be 1 in case of a match, and 0 otherwise.

Please refer to the documentation of tuple_regexp_matchtuple_regexp_matchTupleRegexpMatchTupleRegexpMatchTupleRegexpMatch for syntax and options of regular expressions. Additionally, tuple_regexp_testtuple_regexp_testTupleRegexpTestTupleRegexpTestTupleRegexpTest supports the option 'invert_match'"invert_match""invert_match""invert_match""invert_match", which causes those input strings to be counted which do not match the regular expression.

For convenient use in conditional expressions, this functionality is also available as the '=~'"=~""=~""=~""=~" operation in HDevelop.

For general information about string operations see Tuple / String Operations.

Exception: Empty input tuple

If the input tuple is empty, the operator returns 0.

HDevelop In-line Operation

HDevelop provides an in-line operation for tuple_regexp_testtuple_regexp_testTupleRegexpTestTupleRegexpTestTupleRegexpTest, which can be used in an expression in the following syntax:

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

Execution Information

Parameters

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

Input strings to match.

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

Regular expression.

Default value: '.*' ".*" ".*" ".*" ".*"

Suggested values: '.*'".*"".*"".*"".*", '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)

Number of matching strings

Example (HDevelop)

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

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

Alternatives

tuple_strstrtuple_strstrTupleStrstrTupleStrstrTupleStrstr

See also

tuple_regexp_matchtuple_regexp_matchTupleRegexpMatchTupleRegexpMatchTupleRegexpMatch, tuple_regexp_replacetuple_regexp_replaceTupleRegexpReplaceTupleRegexpReplaceTupleRegexpReplace, tuple_regexp_selecttuple_regexp_selectTupleRegexpSelectTupleRegexpSelectTupleRegexpSelect

Module

Foundation


ClassesClasses | | Operators