.			a		y	dot (.)
.			\n		y	dot (.)
.			''		n	dot (.)
a\s+f			abcdef		n	whitespace (\s)
ab\s+cdef		ab  cdef	y	whitespace (\s)
a\S+f			abcdef		y	not whitespace (\S)
a\S+f			ab cdef		n	not whitespace (\S)
^ abc			abcdef		y	start and end of string (^)
^ abc			abc\ndef	y	start and end of string (^)
^ abc			def\nabc	n	start and end of string (^)
def \n ^ abc		def\nabc	n	start and end of string (^)
def $			abcdef		y	start and end of string ($)
def $			abc\ndef	y	start and end of string ($)
def $			def\nabc	n	start and end of string ($)
def $ \n abc		def\nabc	n	start and end of string (^)
abc \n $		abc\n		y	end of string ($)
abc $			abc\n		n	end of string ($)
<<def			abc-def		y	left word boundary, beginning of word
<<bc			abc-def		n	left word boundary, mid-word
c<<			abc-def		n	left word boundary, end of word
<<abc			abc-def		y	left word boundary, BOS
def<<			abc-def		n	left word boundary, EOS
<<			-------		n	left word boundary, no word chars
>>def			abc-def		n	right word boundary, beginning of word
>>bc			abc-def		n	right word boundary, mid-word
c>>			abc-def		y	right word boundary, end of word
>>abc			abc-def		n	right word boundary, BOS
def>>			abc-def		y	right word boundary, EOS
>>			-------		n	right word boundary, no word chars
c \n d			abc\ndef	y	logical newline (\n)
c \n d			abc\x0adef	y	logical newline (\n)
c \n d			abc\x0ddef	y	logical newline (\n)
c \n+ d			abc\n\ndef	y	logical newline (\n)
a\n+f			abcdef		n	logical newline (\n)
c \n d			abc\x0a\x0ddef	n	logical newline (\n)
c \n d			abc\x0d\x0adef	y	logical newline (\n)
b \n c			abc\ndef	n	logical newline (\n)
\N			a		y	not logical newline (\N)
a \N c			abc		y	not logical newline (\N)
\N			''		n	not logical newline (\N)
c \N d			abc\ndef	n	not logical newline (\N)
c \N d			abc\x0adef	n	not logical newline (\N)
c \N d			abc\x0ddef	n	not logical newline (\N)
c \N+ d			abc\n\ndef	n	not logical newline (\N)
a\N+f			abcdef		y	not logical newline (\N)
c \N d			abc\x0a\x0ddef	n	not logical newline (\N)
c \N d			abc\x0d\x0adef	n	not logical newline (\N)
b \N \n			abc\ndef	y	not logical newline (\N)
\Aabc			Aabc		y	retired metachars (\A)
\Aabc			abc\ndef	n	retired metachars (\A)
abc\Z			abcZ		y	retired metachars (\Z)
abc\Z			abc\ndef	n	retired metachars (\Z)
abc\z			abcz		y	retired metachars (\z)
def\z			abc\ndef	n	retired metachars (\z)
abc # def		abc#def		y	comments (#)
abc # xyz		abc#def		y	comments (#)
abc # def \n \$		abc#def		y	comments (#)
abc \# def		abc#def		y	comments (#)
abc \# xyz		abc#def		n	comments (#)
^ abc \# def $		abc#def		y	comments (#)
^^ abc \n ^^ def	abc\ndef	y	line beginnings and endings (^^)
^^ abc \n ^^ def \n ^^	abc\ndef\n	n	line beginnings and endings (^^)
^^ \n			\n		y	line beginnings and endings (^^)
\n ^^			\n		n	line beginnings and endings (^^)
abc $$ \n def $$	abc\ndef	y	line beginnings and endings ($$)
abc $$ \n def $$ \n $$	abc\ndef\n	n	line beginnings and endings ($$)
$$ \n			\n		y	line beginnings and endings ($$)
\n $$			\n		n	line beginnings and endings ($$)
<[a..d]> | <[b..e]>	c		y	alternation (|)
<[a..d]> | <[d..e]>	c		y	alternation (|)
<[a..b]> | <[b..e]>	c		y	alternation (|)
<[a..b]> | <[d..e]>	c		n	alternation (|)
<[a..d]>+ | <[b..e]>+	bcd		y	alternation (|)
^<[a..d]>+ | <[b..e]>+$	bcd		y	alternation (|)
<[a..c]>+ | <[b..e]>+	bcd		y	alternation (|)
<[a..d]>+ | <[c..e]>+	bcd		y	alternation (|)
b|			bcd		/rule error/	alternation (|) - null right arg illegal
|b			bcd		/Missing term/	alternation (|) - null left arg illegal
|			bcd		/Missing term/	alternation (|) - null both args illegal
\|			|		y	alternation (|) - literal must be escaped
|			|		n	alternation (|) - literal must be escaped
<[a..d]> & <[b..e]>	c		y	conjunction (&)
<[a..d]> & <[d..e]>	c		n	conjunction (&)
<[a..b]> & <[b..e]>	c		n	conjunction (&)
<[a..b]> & <[d..e]>	c		n	conjunction (&)
<[a..d]>+ & <[b..e]>+	bcd		y	conjunction (&)
^<[a..d]>+ & <[b..e]>+$	bcd		y	conjunction (&)
<[a..c]>+ & <[b..e]>+	bcd		y	conjunction (&)
<[a..d]>+ & <[c..e]>+	bcd		y	conjunction (&)
b&			bcd		/rule error/	conjunction (&) - null right arg illegal
&b			bcd		/Missing term/	conjunction (&) - null left arg illegal
&			bcd		/Missing term/	conjunction (&) - null both args illegal
\&			&		y	conjunction (&) - literal must be escaped
&			&		n	conjunction (&) - literal must be escaped
a&|b			a&|b		/Missing term/	alternation and conjunction (&|) - parse error
a|&b			a|&b		/Missing term/	alternation and conjunction (|&) - parse error
|d|b			abc		y	leading alternation ignored
 |d|b			abc		y	leading alternation ignored
|d |b			abc		y	leading alternation ignored
 | d | b		abc		y	leading alternation ignored
 b |  | d		abc		n	null pattern invalid
\pabc			pabc		y	retired metachars (\p)
\p{InConsonant}		a		n	retired metachars (\p)
\Pabc			Pabc		y	retired metachars (\P)
\P{InConsonant}		a		n	retired metachars (\P)
\Labc\E			LabcE		y	retired metachars (\L...\E)
\LABC\E			abc		n	retired metachars (\L...\E)
\Uabc\E			UabcE		y	retired metachars (\U...\E)
\Uabc\E			ABC		n	retired metachars (\U...\E)
\Qabc\E			QabcE		y	retired metachars (\Q...\E)
\Qabc d?\E		abc d		n	retired metachars (\Q...\E)
\Gabc			Gabc		y	retired metachars (\G)
\1abc			1abc		y	retired metachars (\1)
^ \s+ $			\u0009\u0020\u00a0\u000a\u000b\u000c\u000d\u0085	y	0-255 whitespace (\s)
^ \h+ $			\u0009\u0020\u00a0	y	0-255 horizontal whitespace (\h)
^ \v+ $			\u000a\u000b\u000c\u000d\u0085	y	0-255 vertical whitespace (\v)
^ \h+ $			\u000a\u000b\u000c\u000d\u0085	n	0-255 horizontal whitespace (\h)
^ \v+ $			\u0009\u0020\u00a0	n	0-255 vertical whitespace (\v)
^ \s+ $			\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2008\u2009\u200a\u202f\u205f\u3000\u000a\u000b\u000c\u000d\u0085	y	unicode whitespace (\s)
^ \h+ $			\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2008\u2009\u200a\u202f\u205f\u3000	y	unicode whitespace (\h)
^ \v+ $			\u000a\u000b\u000c\u000d\u0085	y	unicode whitespace (\v)
^ \h+ $			\u000a\u000b\u000c\u000d\u0085	n	unicode whitespace (\h)
^ \v+ $			\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2008\u2009\u200a\u202f\u205f\u3000	n	unicode whitespace (\v)
c \t d			abc\tdef	y	horizontal tab (\t)
c \t d			abc\x09def	y	horizontal tab (\t)
c \t+ d			abc\t\tdef	y	horizontal tab (\t)
a \t+ f			abcdef		n	horizontal tab (\t)
b \t c			abc\tdef	n	horizontal tab (\t)
\T			a		y	not horizontal tab (\T)
a \T c			abc		y	not horizontal tab (\T)
\T			''		n	not horizontal tab (\T)
c \T d			abc\tdef	n	not horizontal tab (\T)
c \T d			abc\x09def	n	not horizontal tab (\T)
c \T+ d			abc\t\tdef	n	not horizontal tab (\T)
a \T+ f			abcdef		y	not horizontal tab (\T)
c \r d			abc\rdef	y	return (\r)
c \r d			abc\x0ddef	y	return (\r)
c \r+ d			abc\r\rdef	y	return (\r)
a \r+ f			abcdef		n	return (\r)
b \r c			abc\rdef	n	return (\r)
\R			a		y	not return (\R)
a \R c			abc		y	not return (\R)
\R			''		n	not return (\R)
c \R d			abc\rdef	n	not return (\R)
c \R d			abc\x0ddef	n	not return (\R)
c \R+ d			abc\r\rdef	n	not return (\R)
a \R+ f			abcdef		y	not return (\R)
c \f d			abc\fdef	y	formfeed (\f)
c \f d			abc\x0cdef	y	formfeed (\f)
c \f+ d			abc\f\fdef	y	formfeed (\f)
a \f+ f			abcdef		n	formfeed (\f)
b \f c			abc\fdef	n	formfeed (\f)
\F			a		y	not formfeed (\F)
a \F c			abc		y	not formfeed (\F)
\F			''		n	not formfeed (\F)
c \F d			abc\fdef	n	not formfeed (\F)
c \F d			abc\x0cdef	n	not formfeed (\F)
c \F+ d			abc\f\fdef	n	not formfeed (\F)
a \F+ f			abcdef		y	not formfeed (\F)
c \e d			abc\edef	y	escape (\e)
c \e d			abc\x1bdef	y	escape (\e)
c \e+ d			abc\e\edef	y	escape (\e)
a \e+ f			abcdef		n	escape (\e)
b \e c			abc\edef	n	escape (\e)
\E			a		y	not escape (\E)
a \E c			abc		y	not escape (\E)
\E			''		n	not escape (\E)
c \E d			abc\edef	n	not escape (\E)
c \E d			abc\x1bdef	n	not escape (\E)
c \E+ d			abc\e\edef	n	not escape (\E)
a \E+ f			abcdef		y	not escape (\E)
c \x0021 d		abc!def	y	hex (\x)
c \x0021 d		abc\x21def	y	hex (\x)
c \x0021+ d		abc!!def	y	hex (\x)
a \x0021+ f		abcdef		n	hex (\x)
b \x0021 c		abc!def		n	hex (\x)
\X0021			a		y	not hex (\X)
a \X0021 c		abc		y	not hex (\X)
\X0021			''		n	not hex (\X)
c \X0021 d		abc!def		n	not hex (\X)
c \X0021 d		abc\x21def	n	not hex (\X)
c \X0021+ d		abc!!def	n	not hex (\X)
a \X0021+ f		abcdef		y	not hex (\X)
c \o041 d		abc!def		y	octal (\o)
c \o41 d		abc\x21def	y	octal (\o)
c \o41+ d		abc!!def	y	octal (\o)
a \o41+ f		abcdef		n	octal (\o)
b \o41 c		abc!def		n	octal (\o)
\O41			a		y	not octal (\O)
a \O41 c		abc		y	not octal (\O)
\O41			''		n	not octal (\O)
c \O41 d		abc!def		n	not octal (\O)
c \O41 d		abc\x21def	n	not octal (\O)
c \O41+ d		abc!!def	n	not octal (\O)
a \O41+ f		abcdef		y	not octal (\O)
a\w+f			a=[ *f		n	word character
a\w+f			abcdef		y	word character
a\W+f			a&%- f		y	not word character
a\W+f			abcdef		n	not word character
a\d+f			abcdef		n	digit
ab\d+cdef		ab42cdef	y	digit
a\D+f			abcdef		y	not digit
a\D+f			ab0cdef		n	not digit

## vim: noexpandtab tabstop=4 shiftwidth=4
