- OpenTofu 语言
- 函数
- regexall
regexall
函数
regexall
将 正则表达式 应用于字符串并返回所有匹配项的列表。
regexall(pattern, string)
regexall
是 regex
的变体,并使用相同的模式语法。对于给定的 regex
输入,regexall
返回一个列表,该列表的类型与 regex
返回的类型相同,每个匹配项一个元素。也就是说
- 如果模式根本没有捕获组,则结果为字符串列表。
- 如果模式具有一个或多个未命名捕获组,则结果为列表的列表。
- 如果模式具有一个或多个命名捕获组,则结果为映射的列表。
regexall
还可以用于测试特定字符串是否匹配给定模式,方法是测试结果匹配列表的长度是否大于零。
示例
> regexall("[a-z]+", "1234abcd5678efgh9")
[
"abcd",
"efgh",
]
> length(regexall("[a-z]+", "1234abcd5678efgh9"))
2
> length(regexall("[a-z]+", "123456789")) > 0
false
相关函数
regex
搜索给定模式的单个匹配项,如果未找到匹配项,则返回错误。
如果 OpenTofu 已经有更专门的函数来解析您尝试匹配的语法,请优先使用该函数。正则表达式可能难以阅读,并且可能模糊您的意图,从而使配置更难以阅读和理解。