%dw 2.0
output application/json
---
"me@mulesoft.com" match(/([a-z]*)@([a-z]*)\.com/)
DataWeave
match
match(text: String, matcher: Regex): Array<String>
Uses a Java regular expression (regex) to match a string and then separates it into capture groups. Returns the results in an array.
Note that you can use match
for pattern matching expressions that include
case
statements.
Parameters
Name | Description |
---|---|
|
A string. |
|
A Java regex for matching characters in the |
Example
In this example, the regex matches the input email address and contains two
capture groups within parentheses (located before and after the @
). The
result is an array of elements: The first matching the entire regex, the
second matching the initial capture group () in the regex, the
third matching the last capture group (
[a-z]
).
Source
Output
[
"me@mulesoft.com",
"me",
"mulesoft"
]
JSON
Example
This example outputs matches to values in an array that end in 4
. It uses
flatMap
to iterate over and flatten the list.
Source
%dw 2.0
var a = '192.88.99.0/24'
var b = '192.168.0.0/16'
var c = '192.175.48.0/24'
output application/json
---
[ a, b, c ] flatMap ( $ match(/.*[$4]/) )
DataWeave
Output
[ "192.88.99.0/24", "192.175.48.0/24" ]
JSON
match(text: Null, matcher: Any): Null
Helper function that enables match
to work with a null
value.
Introduced in DataWeave version 2.4.0.