我有一个数组["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