ここでは IEEE Std 1003.1 における ERE(Extended Regular Expressions) について説明する。
awk の正規表現における特殊文字は以下の通りである。
'.' - 任意の一文字。'[' - 文字集合の開始。"[^^]" は '^' 以外のすべて。"[a-z]" は小文字のアルファベット。'-', '[', ']', '^' そのものを集合としたい場合は "[]^\\[-]" という順序にする。'\' - エスケープ。特殊文字のエスケープに用いる。'*' - 0個以上の繰り返しにマッチ'^' - 行頭'$' - 行末'(' - グループの開始。')' - グループの終了。'|' - グループの論理和。'+' - 1個以上の繰り返しにマッチ'?' - 0個か1個の繰り返しにマッチ'{' - 繰り返し回数。"{m}", "{m,n}", "{m,}", "{,n}" はそれぞれ m 回, m〜n 回, m 回以上, n 回以下を表す。nawk では未サポート。
awk の文字集合には以下の文字クラス名が用意されている。ちなみに、右段の等価な文字集合では、GNU awk と POSIX awk, nawk それぞれで微妙に書式が異なるので備考を参考のこと。
| 文字クラス | ISO646で等価な文字集合 | 備考 |
| "[:alnum:]" | "[0-9A-Za-z]" | |
| "[:alpha:]" | "[A-Za-z]" | |
| "[:blank:]" | "[\t ]" | "C" ロカールではこれら「タブ」と「空白」のみ。 |
| "[:cntrl:]" | "[^[:print:]]" | nawk では未対応 |
| "[:digit:]" | "[0-9]" | |
| "[:graph:]" | "[^ [:cntrl:]]" | ここで、文字 '\' が含まれないので注意。 |
| "[:lower:]" | "[a-z]" | |
| "[:print:]" | "[ !-/0-9:-@A-Z[-`a-z{-~]" | ここで '/' を '\/' と書くべき nawk 等での書式もあるので注意。また、文字 '\' が含まれないので注意。 |
| "[:punct:]" | "[!-/:-@[-`{-~]" | ここで '/' を '\/' と書くべき nawk 等での書式もあるので注意。また、文字 '\' が含まれないので注意。 |
| "[:space:]" | "[\t-\r ]" | |
| "[:upper:]" | "[A-Z]" | |
| "[:xdigit:]" | "[0-9A-Fa-f]" |
ちなみに他に "[=ch=]"(照合記号), "[.a.]"(等価クラス)が定義されているが、それらが実装されているかは処理系による。