簡體   English   中英

Dataweave:將正則表達式模式與數組的每個元素匹配

[英]Dataweave: Match Regex Pattern to each element of Array

我有一個數組 ["NJK","NST","NIR"] 我想迭代它並將它的每個元素與這個模式匹配 /^N.*[^1]$/ (以 N 開頭,不t 以 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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM