1. Regular Expressions
Helm 包含以下正则表达式函数 regexFind(mustRegexFind), regexFindAll(mustRegexFindAll), regexMatch (mustRegexMatch), regexReplaceAll (mustRegexReplaceAll), regexReplaceAllLiteral(mustRegexReplaceAllLiteral), regexSplit (mustRegexSplit)。
1.1. regexMatch, mustRegexMatch
如果输入字符串包含可匹配正则表达式任意字符串,则返回true。
regexMatch "^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}$" "test@acme.com"
上述结果为: true
regexMatch有问题时会出错, mustRegexMatch有问题时会向模板引擎返回错误。
1.2. regexFindAll, mustRegexFindAll
返回输入字符串匹配正则表达式的所有切片。最后一个参数表示要返回的子字符串的数量,-1表示返回所有。
regexFindAll "[2,4,6,8]" "123456789" -1
上述结果为: [2 4 6 8]
regexFindAll 有问题时会出错, mustRegexFindAll 有问题时会向模板引擎返回错误。
1.3. regexFind, mustRegexFind
返回输入字符串的第一个 (最左边的) 正则匹配。
regexFind "[a-zA-Z][1-9]" "abcd1234"
上述结果为: d1
regexFind 有问题时会出错, mustRegexFind 有问题时会向模板引擎返回错误。
1.4. regexReplaceAll, mustRegexReplaceAll
返回输入字符串的拷贝,用替换字符串替换Regexp的匹配项。在替换字符串里面, $ 标志被解释为扩展,因此对于实例来说 $1 表示第一个子匹配的文本
regexReplaceAll "a(x*)b" "-ab-axxb-" "${1}W"
上述结果为: -W-xxW-
regexReplaceAll 有问题时会出错, mustRegexReplaceAll 有问题时会向模板引擎返回错误。
1.5. regexReplaceAllLiteral, mustRegexReplaceAllLiteral
返回输入字符串的拷贝,用替换字符串替换Regexp的匹配项。匹配字符串直接替换而不是扩展。
regexReplaceAllLiteral "a(x*)b" "-ab-axxb-" "${1}"
上述结果为: -${1}-${1}-
regexReplaceAllLiteral 有问题时会出错,mustRegexReplaceAllLiteral 有问题时会向模板引擎返回错误。
1.6. regexSplit, mustRegexSplit
将输入字符串切成有表达式分隔的子字符串,并返回表达式匹配项之间的切片。最后一个参数n确定要返回的子字符串数量,-1表示返回所有匹配。
regexSplit "z+" "pizza" -1
上述结果为: [pi a]
regexSplit 有问题时会出错,mustRegexSplit 有问题时会向模板引擎返回错误。