Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Page properties
hiddentrue
StatusTech review
Status
colourGreen
titledone
StatuscolourRedtitlestaff pick Style guide

Status
colourGreen
titledone

Status
titletodo
Status
colourYellow
titleReady for review
Status
colourGreen
titledone
Status
colourRed
titleflagged

Page properties
hiddentrue
Short description

Returns all substrings matching a given regular expression.

Output Statussubtletruetitletext list UI Text Box
sizemedium
typeinfo

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

Code Block
languagebash
titleSyntax
linenumberstrue
findPattern(text, regex) #Output: Text list
UI Expand
titleExamples
Parser expressionDescription
Code Block
languagebash
linenumberstrue
%{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

Code Block
languagebash
linenumberstrue
%{findPattern(%{issue.somefield},"([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, 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

Code Block
languagebash
linenumberstrue
%{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


Code Block
languagebash
linenumberstrue
%{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

Code Block
languagebash
linenumberstrue
%{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

UI Expand
titleAdditional information

Parameters used in this function

ParameterInput (data type)Description
text

Status
subtletrue
titletext

Any given text.
regex

Status
subtletrue
titletext

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

UI Expand
titleOutput

This function returns a

Status
subtletrue
titletext list

UI Text Box
typetip

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

Parser expressionOutput
Code Block
languagebash
linenumberstrue
findPatternIgnoreCase("Grass is Green and Sky is Blue.", "red|green|blue")
["Green", "Blue"]
Code Block
languagebash
linenumberstrue
findPattern("Grass is Green and Sky is Blue.", "red|green|blue")
[ ]
Page properties
hiddentrue
Short description

Returns all substrings matching a given regular expression.

Output

Status
subtletrue
titletext list