findPattern()

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

Bash
findPattern(text, regex) #Output: Text list

Examples

Parser expression

Description

Bash
%{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

Bash
%{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

Bash
%{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

Bash
%{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

Bash
%{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

Parameter

Input (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 expression

Output

Bash
findPatternIgnoreCase("Grass is Green and Sky is Blue.", "red|green|blue")

["Green", "Blue"]

Bash
findPattern("Grass is Green and Sky is Blue.", "red|green|blue")

[ ]



(books) Use cases and examples