tuple_regexp_testtuple_regexp_testTupleRegexpTestTupleRegexpTesttuple_regexp_test (算子)
名称
tuple_regexp_testtuple_regexp_testTupleRegexpTestTupleRegexpTesttuple_regexp_test — 测试字符串是否与正则表达式匹配。
签名
def tuple_regexp_test(data: MaybeSequence[str], expression: MaybeSequence[str]) -> int
描述
tuple_regexp_testtuple_regexp_testTupleRegexpTestTupleRegexpTestTupleRegexpTesttuple_regexp_test applies the regular expression in
ExpressionExpressionExpressionExpressionexpressionexpression to one or more input strings in DataDataDataDatadatadata,
and returns the number of matching strings in NumMatchesNumMatchesNumMatchesNumMatchesnumMatchesnum_matches.
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_matchTupleRegexpMatchTupleRegexpMatchTupleRegexpMatchtuple_regexp_match for syntax
and options of regular expressions. Additionally, tuple_regexp_testtuple_regexp_testTupleRegexpTestTupleRegexpTestTupleRegexpTesttuple_regexp_test
supports the option 'invert_match'"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。
If the input tuple is empty, the operator returns 0.
Unicode 码点与字节
Regular expression matching operates on Unicode code points. One Unicode
code point may be composed of multiple bytes in the UTF-8 string.
If regular expression matching should only match on bytes, this operator can
be switched to byte mode with
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")。If
'filename_encoding'"filename_encoding""filename_encoding""filename_encoding""filename_encoding""filename_encoding" is set to 'locale'"locale""locale""locale""locale""locale" (legacy), this
operator always uses the byte mode.
HDevelop 内联操作
HDevelop provides an in-line operation for tuple_regexp_testtuple_regexp_testTupleRegexpTestTupleRegexpTestTupleRegexpTesttuple_regexp_test,
which can be used in an expression in the following syntax:
NumMatches := regexp_test(Data, Expression)
or
NumMatches := Data =~ Expression
执行信息
- 多线程类型:独立(即使使用独占算子也能并行运行)。
- 多线程作用域:全局(可从任何线程调用)。
- 未采用并行化处理。
参数
DataDataDataDatadatadata (输入控制) string(-array) → HTupleMaybeSequence[str]HTupleHtuple (string) (string) (HString) (char*)
Input strings to match.
ExpressionExpressionExpressionExpressionexpressionexpression (输入控制) string(-array) → HTupleMaybeSequence[str]HTupleHtuple (string) (string) (HString) (char*)
Regular expression.
默认值:
'.*'
".*"
".*"
".*"
".*"
".*"
建议值:
'.*'".*"".*"".*"".*"".*", '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 (输出控制) integer → HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Number of matching strings
示例(HDevelop)
tuple_regexp_test ('p10662599755', '[A-Z]*', Result)
* Returns 0
tuple_regexp_test ('p10662599755', ['[A-Z]*','ignore_case'], Result)
* Returns 1
替代
tuple_strstrtuple_strstrTupleStrstrTupleStrstrTupleStrstrtuple_strstr
另见
tuple_regexp_matchtuple_regexp_matchTupleRegexpMatchTupleRegexpMatchTupleRegexpMatchtuple_regexp_match,
tuple_regexp_replacetuple_regexp_replaceTupleRegexpReplaceTupleRegexpReplaceTupleRegexpReplacetuple_regexp_replace,
tuple_regexp_selecttuple_regexp_selectTupleRegexpSelectTupleRegexpSelectTupleRegexpSelecttuple_regexp_select
模块
基础