Order of Precedence

A regular expression is evaluated from left to right and follows an order of precedence, much like an arithmetic expression.

Operators

The following table illustrates, from highest to lowest, the order of precedence of the various regular expression operators:

Operator(s)

Description

\

Escape

(), (?:), (?=), []

Parentheses and Brackets

*, +, ?, {n}, {n,}, {n,m}

Quantifiers

^, $, \anymetacharacter, anycharacter

Anchors and Sequences

|

Alternation

Characters have higher precedence than the alternation operator, which allows 'm|food' to match "m" or "food". To match "mood" or "food", use parentheses to create a subexpression, which results in '(m|f)ood'.

See Also

Other Resources

Introduction to Regular Expressions