Next: posix-awk regular expression syntax, Previous: gnu-awk regular expression syntax, Up: Regular Expressions
The character ‘.’ matches any single character except newline.
Bracket expressions are used to match ranges of characters. Bracket expressions where the range is backward, for example ‘[z-a]’, are ignored. Within square brackets, ‘\’ is taken literally. Character classes are supported; for example ‘[[:digit:]]’ will match a single decimal digit. Non-matching lists ‘[^...]’ do not ever match newline.
GNU extensions are supported:
Grouping is performed with backslashes followed by parentheses ‘\(’, ‘\)’. A backslash followed by a digit acts as a back-reference and matches the same thing as the previous grouped expression indicated by that number. For example ‘\2’ matches the second group expression. The order of group expressions is determined by the position of their opening parenthesis ‘\(’.
The alternation operator is ‘\|’.
The character ‘^’ only represents the beginning of a string when it appears:
The character ‘$’ only represents the end of a string when it appears:
‘\*’, ‘\+’ and ‘\?’ are special at any point in a regular expression except:
Intervals are specified by ‘\{’ and ‘\}’. Invalid intervals such as ‘a\{1z’ are not accepted.
The longest possible match is returned; this applies to the regular expression as a whole and (subject to this constraint) to subexpressions within groups.