如何解决Dataweave:将正则表达式模式匹配到数组的每个元素
我有一个数组[“ 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","NIR"]
output application/json
---
sample some ($ matches /^N.*[^1]$/ )
输出:
true
选项3:,您还可以将 NOT isEmpty 与匹配项 结合使用(即:{{1} }) 。
输入:
!isEmpty(<expression>)
输出:
%dw 2.0
var sample = ["NJK","NIR"]
output application/json
---
!isEmpty(sample[?($ matches /^N.*[^1]$/ )])
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。