Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Modified contents as per style guide and changed to new editor

Overview

A number of apps provide advanced features that require the use of regular expressions for pattern matching. Generally, just a simple understanding of regular expressions and a few examples are enough to get by for most use cases. This page has a few simple examples to get started. Use the references for more advanced information. It is recommended to test your regular expressions in one of the well-known regex testing sites such as RegexPlanet or Regex101.

Table of Contents
minLevel2
maxLevel6
outlinefalse
styledefault
typelist
printabletrue
Info
title

Regex for workflow conditions

For Jira workflow functions using regex expressions to condition whether the post function should continue processing, a blank pattern means that condition processing is not done and processing should continue.

Tip
title

Key tips

  • Dot or period (.) is a special regex character. If you really want to match on it, you need to escape it with a backslash: \.

  • Don't be confused with generic pattern matching used for file systems for instance. On a file system, *.png means all files ending with .png. That is an illegal regex expression. For regex you need: .*\.png, or to simplify: .*png which finds all files ending in png (not necessarily ending in an extension of PNG).

  • Regex is case sensitive by default. In most cases, use the case insensitive flag: (?i). See one of the examples below.

  • Use the Dotall mode to match across line breaks. 

In dotall mode, the expression . matches any character, including a line terminator. By default this expression does not match line terminators. Dotall mode can also be enabled via the embedded flag expression (?s). (The s is a mnemonic for "single-line" mode, which is what this is called in Perl.)

Simple examples

...

autoNumbertrue

Value

Regex

Matches

Demonstrates

ABC

A.C

(tick)

. matches any single character

ABC

A.*

(tick)

...

  • indicates 0 or more characters

ABC

.*C

(tick)

A.B

A\.B

(tick)

Escape special regex characters with backslash if necessary

ABC

AB*

(error)

Regex is NOT generic matching (smile)

ABC

A.+

(tick)

+ indicates 1 or more

ABC

ABC.+

(error)

ABC

ABC.*

(tick)

ABCD

ABC.*

(tick)

ABC

[ABCD]

(tick)

[ ] indicates a class of characters

ABC

[ABZ]

(error)

ABC8

[A-Z0-9]

(tick)

...

  • indicates a range of characters

ABC

[AB^C]

(error)

^ in a class means NOT the following character

ABC

DEF|ABC

(tick)

| indicates OR

image.png

.*png|.*jpg

(tick)

image.jpg

.*png|.*jpg

(tick)

image.JPG

.*png|.*jpg

(error)

defaults to case sensitive matching

image.JPG

(?i).*png|.*jpg

(tick)

(?i) indicates case insensitive matching

ABAB

(AB)+

(tick)

() indicates a grouping

ABCD

(AB)+

(error)

112233

\d+

(tick)

\d for digits

A B

A\s*B

(tick)

\s for whitespace

ABC

\S*

(tick)

\S for non whitespace

\S+

(error)

Value must have at least 1 non whitespace character

A

\S+

(tick)

XYZ,ABC,UVW

.*\bABC\b.*

(tick)

Word boundaries. Finding words in a comma or blank separated list using word boundaries

XYZ,ABCD,UVW

.*\bABC\b.*

(error)

ABC

(?m)(^ABC$)|(^ABC,)|(,ABC,)|(,ABC$)

(tick)

Looking for text matches in a comma separated list by covering all cases: only, start, middle, and end. This uses the multi-line flag: (?m)

XYZ,ABC,UVW

(?m)(^ABC$)|(^ABC,)|(,ABC,)|(,ABC$)

(tick)

XYZ,ABC DEF,UVW

(?m)(^ABC$)|(^ABC,)|(,ABC,)|(,ABC$)

(error)

Advanced examples

Value

Regex

Matches

Find

Demonstrates

example.txt

^((?!\.png).)*$

(error)

(tick)

Find string not containing a word. In this example, files that do not have a .png extension

example.png

^((?!\.png).)*$

(error)

(error)

Find string not containing a word. In this example, files that do not have a .png extension

example.jpeg

(?=^((?!\.png).)*$)(?=^((?!\.jpeg).)*$)

(error)

(error)

Find string not containing a word. In this example, files that do not have a .png or .jpeg extension

collateral wholesale retail

.*(?=.*\bretail\b.*)(?=.*\bcollateral\b.*).*

(tick)


Match exact words anywhere in string. In this case, a blank separated list of labels and both collateral and retail must be included for the match to be successful

wholesale retail

.*(?=.*\bretail\b.*)(?=.*\bcollateral\b.*).*

(error)


Both are required for a match

merger acquisition

.*\b(?:merger|acquisition)\b.*

(tick)


Match string containing either word

Filter by label (Content by label)
showLabelsfalse
excerpttrue
titleContent with regex label
excerptTypesimple
cqllabel = "regex"
labelsregex

References