Regular Expressions Cheat Sheet

A regular expression (regex or regexp) is a sequence of characters that specifies a search pattern. Usually such patterns are used by string-searching algorithms for "find" or "find and replace" operations on strings, or for input validation.

The below tables assists you on how to use different regular expressions:

Character

Explanation

.

Anything. Any character except newline

a

The character a

ab

The string ab

a|b

a or b

a*

0 or more a's

\

Escapes a special character

Regular Expression Quantifiers

Character

Explanation

*

0 or more

+

1 or more

?

0 or 1

{2}

Exactly 2

{2, 5}

Between 2 and 5

{2,}

2 or more

Regular Expression Groups

Character

Explanation

(...)

Capturing group

(?P<Y>...)

Capturing group named Y

(?:...)

Non-capturing group

(?>...)

Atomic group

(?|...)

Duplicate group numbers

\Y

Match the Y'th captured group

(?P=Y)

Match the named group Y

(?R)

Recurse into entire pattern

(?Y)

Recurse into numbered group Y

(?&Y)

Recurse into named group Y

\g{Y}

Match the named or numbered group Y

\g<Y>

Recurse into named or numbered group Y

(?#...)

Comment

Regular Expression Character Classes

Character

Explanation

[ab-d]

One character of: a, b, c, d

[^ab-d]

One character except: a, b, c, d

[\b]

Backspace character

\d

One digit

\D

One non-digit

\s

One whitespace

\S

One non-whitespace

\w

One word character

\W

One non-word character

Regular Expression Assertions

Character

Explanation

^

Start of string

\A

Start of string, ignores m flag

$

End of string

\Z

End of string, ignores m flag

\b

Word boundary

\B

Non-word boundary

\G

Start of match

(?=...)

Positive lookahead

(?!...)

Negative lookahead

(?<=...)

Positive lookbehind

(?<!...)

Negative lookbehind

(?()|)

Conditional

Regular Expression Flags

Character

Explanation

i

Ignore case

m

^ and $ match start and end of line

s

. matches newline as well

x

Allow spaces and comments

J

Duplicate group names allowed

U

Ungreedy quantifiers

(?iLmsux)

Set flags within regex

Regular Expression Special Characters

Character

Explanation

Newline

Carriage return

Tab

\0

Null character

\YYY

Octal character YYY

\xYY

Hexadecimal character YY

\x{YY}

Hexadecimeal character YY

\cY

Control character Y

Regular Expression Posix Classes

Character

Explanation

[:alnum:]

Letters and digits

[:alpha:]

Letters

[:ascii:]

Ascii codes 0 - 127

[:blank:]

Space or tab only

[:cntrl:]

Control characters

[:digit:]

Decimal digits

[:graph:]

Visible characters, except space

[:lower:]

Lowercase letters

[:print:]

Visible characters

[:punct:]

Visible punctuation characters

[:space:]

Whitespace

[:upper:]

Uppercase letters

[:word:]

Word characters

[:xdigit:]

Hexadecimal digits

Last updated

Copyright © 2022 The Linux Foundation®. All rights reserved. The Linux Foundation has registered trademarks and uses trademarks.