This function returns a text list with all substrings matching a given regular expression.

Syntax
findPattern(text, regex) #Output: Text list
Examples
Parser expressionDescription
%{findPattern("Between 1900 and 2000 world population increase from 1.5 to 6.1 billions.", "\d+(\.\d+)?")}

This example returns:

1900,2000,1.5,6.1

%{findPattern(%{issue.somefield},"(?<=mailto:)([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9_-]+)")}

Extract all email addresses from a text field

Assuming %{issue.somefield} is a multi-line text fiel containing email addresses (added as hyperlinks), e.g.

Hello,

please use admin@example.com instead of administrator@example.com for future reference.

Kind regards,
jwt@example.com

this example returns:

admin@example.com,administrator@example.com,jwt@example.com

%{findPattern(%{issue.lastComment},"(?<=\~accountid:).*?(?=\])")}

Extract all user mentions from the last comment

Assuming %{issue.lastComment} returns, e.g.

Hi [~Alina Grant|~accountid:5c90f542efd65d2d3d465d7c]!

this example returns:

5c90f542efd65d2d3d465d7c


%{findPattern(%{issue.lastComment},"([A-Z][A-Z0-9]+)-\d+")}

Extract all issue keys from the last comment

Assuming %{issue.lastComment} returns, e.g.

Hi [~admin],

this issues seems to be related to DEMO-1 and DEMO-2! 

this example returns:

DEMO-1,DEMO-2

%{findPattern(%{issue.somefield},"(?<=\|http://|\|https://).*?(?=\])")}

Extract all URLs from a text field

Assuming %{issue.somefield} returns, e.g.

The best documentation can be found at [apps.decadis.net|https://apps.decadis.net]. Make sure to check the space for [Jira Workflow Toolbox|https://apps.decadis.net/display/JWT]! If you can't find what you're looking for there, all you have left is [Google|https://www.google.com].

this example returns:

apps.decadis.net,apps.decadis.net/display/JWT,www.google.com

Additional information

Parameters used in this function

ParameterInput (data type)Description
text

TEXT

Any given text.
regex

TEXT

A valid regular expression that grabs all substrings to be returned.

Output

This function returns a TEXT LIST

If you want to ignore the case, have a look at the findPatternIgnoreCase() function.

Parser expressionOutput
findPatternIgnoreCase("Grass is Green and Sky is Blue.", "red|green|blue")
["Green", "Blue"]
findPattern("Grass is Green and Sky is Blue.", "red|green|blue")
[ ]


Use cases and examples