Dataweave:将Regex模式与数组的每个元素匹配



我有一个数组["NJK","NST","NIR"]我想对它进行迭代,并将它的每个元素与此模式/^N匹配。*[^1]$/(以N开头,不以1结尾(并返回'true',即使出现这样的情况。如何使用dataweave迭代数组?

您可以使用matches来匹配您的REGEX模式。

选项1:(如果项目与您的模式匹配,则会将其替换为布尔值。(

输入:

%dw 2.0
import * from dw::core::Arrays
var sample = ["NJK","NST","NIR"]
output application/json
---
sample map ($ matches /^N.*[^1]$/ )

输出:

[
true,
true,
true
]

选项2:(如果您想检查是否有任何项目是matched并且只返回一个布尔值,则可以使用some(

输入:

%dw 2.0
import * from dw::core::Arrays
var sample = ["NJK","NST","NIR"]
output application/json
---
sample some ($ matches /^N.*[^1]$/ )

输出:

true

选项3:您也可以将NOT isEmpty组合与匹配(即:!isEmpty(<expression>)(一起使用。

输入:

%dw 2.0
var sample = ["NJK","NST","NIR"]
output application/json
---
!isEmpty(sample[?($ matches /^N.*[^1]$/ )])

输出:

true

最新更新