Dataweave:将正则表达式模式匹配到数组的每个元素
Dataweave: Match Regex Pattern to each element of Array
我有一个数组 ["NJK","NST","NIR"] 我想遍历它并用这个模式匹配它的每个元素 /^N.*[^1]$/ (Starts与 N 并且不以 1) 和 return '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
并且只有 return 单个布尔值,您可以使用 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 与 matches (即:!isEmpty(<expression>)
).
输入:
%dw 2.0
var sample = ["NJK","NST","NIR"]
output application/json
---
!isEmpty(sample[?($ matches /^N.*[^1]$/ )])
输出:
true
我有一个数组 ["NJK","NST","NIR"] 我想遍历它并用这个模式匹配它的每个元素 /^N.*[^1]$/ (Starts与 N 并且不以 1) 和 return '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
并且只有 return 单个布尔值,您可以使用 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 与 matches (即:!isEmpty(<expression>)
).
输入:
%dw 2.0
var sample = ["NJK","NST","NIR"]
output application/json
---
!isEmpty(sample[?($ matches /^N.*[^1]$/ )])
输出:
true