The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
abc	abc	y	$&	abc
abc	abc	y	$-[0]	0
abc	abc	y	$+[0]	3
abc	xbc	n	-	-
abc	axc	n	-	-
abc	abx	n	-	-
abc	xabcy	y	$&	abc
abc	xabcy	y	$-[0]	1
abc	xabcy	y	$+[0]	4
abc	ababc	y	$&	abc
abc	ababc	y	$-[0]	2
abc	ababc	y	$+[0]	5
ab*c	abc	y	$&	abc
ab*c	abc	y	$-[0]	0
ab*c	abc	y	$+[0]	3
ab*bc	abc	y	$&	abc
ab*bc	abc	y	$-[0]	0
ab*bc	abc	y	$+[0]	3
ab*bc	abbc	y	$&	abbc
ab*bc	abbc	y	$-[0]	0
ab*bc	abbc	y	$+[0]	4
ab*bc	abbbbc	y	$&	abbbbc
ab*bc	abbbbc	y	$-[0]	0
ab*bc	abbbbc	y	$+[0]	6
#.{1}	abbbbc	y	$&	a
#.{1}	abbbbc	y	$-[0]	0
#.{1}	abbbbc	y	$+[0]	1
#.{3,4}	abbbbc	y	$&	abbb
#.{3,4}	abbbbc	y	$-[0]	0
#.{3,4}	abbbbc	y	$+[0]	4
#ab{0,}bc	abbbbc	y	$&	abbbbc
#ab{0,}bc	abbbbc	y	$-[0]	0
#ab{0,}bc	abbbbc	y	$+[0]	6
ab+bc	abbc	y	$&	abbc
ab+bc	abbc	y	$-[0]	0
ab+bc	abbc	y	$+[0]	4
ab+bc	abc	n	-	-
ab+bc	abq	n	-	-
ab{1,}bc	abq	n	-	-
ab+bc	abbbbc	y	$&	abbbbc
ab+bc	abbbbc	y	$-[0]	0
ab+bc	abbbbc	y	$+[0]	6
#ab{1,}bc	abbbbc	y	$&	abbbbc
#ab{1,}bc	abbbbc	y	$-[0]	0
#ab{1,}bc	abbbbc	y	$+[0]	6
#ab{1,3}bc	abbbbc	y	$&	abbbbc
#ab{1,3}bc	abbbbc	y	$-[0]	0
#ab{1,3}bc	abbbbc	y	$+[0]	6
#ab{3,4}bc	abbbbc	y	$&	abbbbc
#ab{3,4}bc	abbbbc	y	$-[0]	0
#ab{3,4}bc	abbbbc	y	$+[0]	6
#ab{4,5}bc	abbbbc	n	-	-
ab?bc	abbc	y	$&	abbc
ab?bc	abc	y	$&	abc
#ab{0,1}bc	abc	y	$&	abc
ab?bc	abbbbc	n	-	-
ab?c	abc	y	$&	abc
#ab{0,1}c	abc	y	$&	abc
^abc$	abc	y	$&	abc
^abc$	abcc	n	-	-
^abc	abcc	y	$&	abc
^abc$	aabc	n	-	-
abc$	aabc	y	$&	abc
abc$	aabcd	n	-	-
^	abc	y	$&	
$	abc	y	$&	
a.c	abc	y	$&	abc
a.c	axc	y	$&	axc
a.*c	axyzc	y	$&	axyzc
a.*c	axyzd	n	-	-
a[bc]d	abc	n	-	-
a[bc]d	abd	y	$&	abd
a[b]d	abd	y	$&	abd
[a][b][d]	abd	y	$&	abd
.[b].	abd	y	$&	abd
.[b].	aBd	n	-	-
#(?i:.[b].)	abd	y	$&	abd
a[b-d]e	abd	n	-	-
a[b-d]e	ace	y	$&	ace
a[b-d]	aac	y	$&	ac
#a[-b]	a-	y	$&	a-
#a[b-]	a-	y	$&	a-
#a[b-a]	-	c	-	Invalid [] range \"b-a\"
#a[]b	-	c	-	Unmatched [
#a[	-	c	-	Unmatched [
a]	a]	y	$&	a]
#a[]]b	a]b	y	$&	a]b
a[^bc]d	aed	y	$&	aed
a[^bc]d	abd	n	-	-
a[^-b]c	adc	y	$&	adc
a[^-b]c	a-c	n	-	-
#a[^]b]c	a]c	n	-	-
#a[^]b]c	adc	y	$&	adc
#\ba\b	a-	y	-	-
#\ba\b	-a	y	-	-
#\ba\b	-a-	y	-	-
\by\b	xy	n	-	-
\by\b	yz	n	-	-
\by\b	xyz	n	-	-
\Ba\B	a-	n	-	-
\Ba\B	-a	n	-	-
\Ba\B	-a-	n	-	-
#\By\b	xy	y	-	-
#\By\b	xy	y	$-[0]	1
#\By\b	xy	y	$+[0]	2
#\By\b	xy	y	-	-
#\by\B	yz	y	-	-
#\By\B	xyz	y	-	-
#\w	a	y	-	-
#\w	-	n	-	-
#\W	a	n	-	-
#\W	-	y	-	-
#a\sb	a b	y	-	-
a\sb	a-b	n	-	-
a\Sb	a b	n	-	-
#a\Sb	a-b	y	-	-
#\d	1	y	-	-
\d	-	n	-	-
\D	1	n	-	-
#\D	-	y	-	-
#[\w]	a	y	-	-
[\w]	-	n	-	-
[\W]	a	n	-	-
#[\W]	-	y	-	-
#a[\s]b	a b	y	-	-
a[\s]b	a-b	n	-	-
a[\S]b	a b	n	-	-
#a[\S]b	a-b	y	-	-
#[\d]	1	y	-	-
[\d]	-	n	-	-
[\D]	1	n	-	-
#[\D]	-	y	-	-
ab|cd	abc	y	$&	ab
ab|cd	abcd	y	$&	ab
#()ef	def	y	$&-$1	ef-
#()ef	def	y	$-[0]	1
#()ef	def	y	$+[0]	3
#()ef	def	y	$-[1]	1
#()ef	def	y	$+[1]	1
#*a	-	c	-	Quantifier follows nothing
#(|*)b	-	c	-	Quantifier follows nothing
#(*)b	-	c	-	Unknown verb
$b	b	n	-	-
a\	-	c	-	Search pattern not terminated
a\(b	a(b	y	$&-$1	a(b-
a\(*b	ab	y	$&	ab
a\(*b	a((b	y	$&	a((b
a\\b	a\\b	y	$&	a\\b
#abc)	-	c	-	Unmatched )
#(abc	-	c	-	Unmatched (
((a))	abc	y	$&-$1-$2	a-a-a
((a))	abc	y	$-[0]-$-[1]-$-[2]	0-0-0
((a))	abc	y	$+[0]-$+[1]-$+[2]	1-1-1
#((a))	abc	b	@-	0 0 0
#((a))	abc	b	@+	1 1 1
(a)b(c)	abc	y	$&-$1-$2	abc-a-c
(a)b(c)	abc	y	$-[0]-$-[1]-$-[2]	0-0-2
(a)b(c)	abc	y	$+[0]-$+[1]-$+[2]	3-1-3
a+b+c	aabbabc	y	$&	abc
#a{1,}b{1,}c	aabbabc	y	$&	abc
#a**	-	c	-	Nested quantifiers
#a.+?c	abcabc	y	$&	abc
(a+|b)*	ab	y	$&-$1	ab-b
(a+|b)*	ab	y	$-[0]	0
(a+|b)*	ab	y	$+[0]	2
(a+|b)*	ab	y	$-[1]	1
(a+|b)*	ab	y	$+[1]	2
#(a+|b){0,}	ab	y	$&-$1	ab-b
(a+|b)+	ab	y	$&-$1	ab-b
#(a+|b){1,}	ab	y	$&-$1	ab-b
(a+|b)?	ab	y	$&-$1	a-a
#(a+|b){0,1}	ab	y	$&-$1	a-a
#)(	-	c	-	Unmatched )
[^ab]*	cde	y	$&	cde
abc		n	-	-
a*		y	$&	
([abc])*d	abbbcd	y	$&-$1	abbbcd-c
([abc])*bcd	abcd	y	$&-$1	abcd-a
a|b|c|d|e	e	y	$&	e
(a|b|c|d|e)f	ef	y	$&-$1	ef-e
(a|b|c|d|e)f	ef	y	$-[0]	0
(a|b|c|d|e)f	ef	y	$+[0]	2
(a|b|c|d|e)f	ef	y	$-[1]	0
(a|b|c|d|e)f	ef	y	$+[1]	1
abcd*efg	abcdefg	y	$&	abcdefg
ab*	xabyabbbz	y	$&	ab
ab*	xayabbbz	y	$&	a
(ab|cd)e	abcde	y	$&-$1	cde-cd
[abhgefdc]ij	hij	y	$&	hij
^(ab|cd)e	abcde	n	x$1y	xy
#(abc|)ef	abcdef	y	$&-$1	ef-
(a|b)c*d	abcd	y	$&-$1	bcd-b
(ab|ab*)bc	abc	y	$&-$1	abc-a
a([bc]*)c*	abc	y	$&-$1	abc-bc
a([bc]*)(c*d)	abcd	y	$&-$1-$2	abcd-bc-d
a([bc]*)(c*d)	abcd	y	$-[0]	0
a([bc]*)(c*d)	abcd	y	$+[0]	4
a([bc]*)(c*d)	abcd	y	$-[1]	1
a([bc]*)(c*d)	abcd	y	$+[1]	3
a([bc]*)(c*d)	abcd	y	$-[2]	3
a([bc]*)(c*d)	abcd	y	$+[2]	4
a([bc]+)(c*d)	abcd	y	$&-$1-$2	abcd-bc-d
a([bc]*)(c+d)	abcd	y	$&-$1-$2	abcd-b-cd
a([bc]*)(c+d)	abcd	y	$-[0]	0
a([bc]*)(c+d)	abcd	y	$+[0]	4
a([bc]*)(c+d)	abcd	y	$-[1]	1
a([bc]*)(c+d)	abcd	y	$+[1]	2
a([bc]*)(c+d)	abcd	y	$-[2]	2
a([bc]*)(c+d)	abcd	y	$+[2]	4
a[bcd]*dcdcde	adcdcde	y	$&	adcdcde
a[bcd]+dcdcde	adcdcde	n	-	-
(ab|a)b*c	abc	y	$&-$1	abc-ab
(ab|a)b*c	abc	y	$-[0]	0
(ab|a)b*c	abc	y	$+[0]	3
(ab|a)b*c	abc	y	$-[1]	0
(ab|a)b*c	abc	y	$+[1]	2
((a)(b)c)(d)	abcd	y	$1-$2-$3-$4	abc-a-b-d
((a)(b)c)(d)	abcd	y	$-[0]	0
((a)(b)c)(d)	abcd	y	$+[0]	4
((a)(b)c)(d)	abcd	y	$-[1]	0
((a)(b)c)(d)	abcd	y	$+[1]	3
((a)(b)c)(d)	abcd	y	$-[2]	0
((a)(b)c)(d)	abcd	y	$+[2]	1
((a)(b)c)(d)	abcd	y	$-[3]	1
((a)(b)c)(d)	abcd	y	$+[3]	2
((a)(b)c)(d)	abcd	y	$-[4]	3
((a)(b)c)(d)	abcd	y	$+[4]	4
[a-zA-Z_][a-zA-Z0-9_]*	alpha	y	$&	alpha
^a(bc+|b[eh])g|.h$	abh	y	$&-$1	bh-
(bc+d$|ef*g.|h?i(j|k))	effgz	y	$&-$1-$2	effgz-effgz-
(bc+d$|ef*g.|h?i(j|k))	ij	y	$&-$1-$2	ij-ij-j
(bc+d$|ef*g.|h?i(j|k))	effg	n	-	-
(bc+d$|ef*g.|h?i(j|k))	bcdd	n	-	-
(bc+d$|ef*g.|h?i(j|k))	reffgz	y	$&-$1-$2	effgz-effgz-
((((((((((a))))))))))	a	y	$10	a
((((((((((a))))))))))	a	y	$-[0]	0
((((((((((a))))))))))	a	y	$+[0]	1
((((((((((a))))))))))	a	y	$-[10]	0
((((((((((a))))))))))	a	y	$+[10]	1
#((((((((((a))))))))))\10	aa	y	$&	aa
((((((((((a))))))))))${bang}	aa	n	-	-
#((((((((((a))))))))))${bang}	a!	y	$&	a!
(((((((((a)))))))))	a	y	$&	a
multiple words of text	uh-uh	n	-	-
multiple words	multiple words, yeah	y	$&	multiple words
(.*)c(.*)	abcde	y	$&-$1-$2	abcde-ab-de
\((.*), (.*)\)	(a, b)	y	($2, $1)	(b, a)
[k]	ab	n	-	-
abcd	abcd	y	$&-\$&-\\$&	abcd-\$&-\\abcd
a(bc)d	abcd	y	$1-\$1-\\$1	bc-\$1-\\bc
#a[-]?c	ac	y	$&	ac
#(abc)\1	abcabc	y	$1	abc
#([a-c]*)\1	abcabc	y	$1	abc
#\1	-	c	-	Reference to nonexistent group
#\2	-	c	-	Reference to nonexistent group
(a)|\1	a	y	-	-
(a)|\1	x	n	-	-
#(a)|\2	-	c	-	Reference to nonexistent group
#(([a-c])b*?\2)*	ababbbcbc	y	$&-$1-$2	ababb-bb-b
#(([a-c])b*?\2){3}	ababbbcbc	y	$&-$1-$2	ababbbcbc-cbc-c
((\3|b)\2(a)x)+	aaxabxbaxbbx	n	-	-
#((\3|b)\2(a)x)+	aaaxabaxbaaxbbax	y	$&-$1-$2-$3	bbax-bbax-b-a
#((\3|b)\2(a)){2,}	bbaababbabaaaaabbaaaabba	y	$&-$1-$2-$3	bbaaaabba-bba-b-a
(a)|(b)	b	y	$-[0]	0
(a)|(b)	b	y	$+[0]	1
(a)|(b)	b	y	x$-[1]	x
(a)|(b)	b	y	x$+[1]	x
# TODO: bug in the plan9 wrapper?
#(a)|(b)	b	y	$-[2]	0
#(a)|(b)	b	y	$+[2]	1
#'abc'i	ABC	y	$&	ABC
# /i doesn't work
#'abc'i	XBC	n	-	-
#'abc'i	AXC	n	-	-
#'abc'i	ABX	n	-	-
#'abc'i	XABCY	y	$&	ABC
#'abc'i	ABABC	y	$&	ABC
#'ab*c'i	ABC	y	$&	ABC
#'ab*bc'i	ABC	y	$&	ABC
#'ab*bc'i	ABBC	y	$&	ABBC
#'ab*?bc'i	ABBBBC	y	$&	ABBBBC
#'ab{0,}?bc'i	ABBBBC	y	$&	ABBBBC
#'ab+?bc'i	ABBC	y	$&	ABBC
#'ab+bc'i	ABC	n	-	-
#'ab+bc'i	ABQ	n	-	-
#'ab{1,}bc'i	ABQ	n	-	-
#'ab+bc'i	ABBBBC	y	$&	ABBBBC
#'ab{1,}?bc'i	ABBBBC	y	$&	ABBBBC
#'ab{1,3}?bc'i	ABBBBC	y	$&	ABBBBC
#'ab{3,4}?bc'i	ABBBBC	y	$&	ABBBBC
#'ab{4,5}?bc'i	ABBBBC	n	-	-
#'ab??bc'i	ABBC	y	$&	ABBC
#'ab??bc'i	ABC	y	$&	ABC
#'ab{0,1}?bc'i	ABC	y	$&	ABC
#'ab??bc'i	ABBBBC	n	-	-
#'ab??c'i	ABC	y	$&	ABC
#'ab{0,1}?c'i	ABC	y	$&	ABC
#'^abc$'i	ABC	y	$&	ABC
#'^abc$'i	ABCC	n	-	-
#'^abc'i	ABCC	y	$&	ABC
#'^abc$'i	AABC	n	-	-
#'abc$'i	AABC	y	$&	ABC
#'^'i	ABC	y	$&	
#'$'i	ABC	y	$&	
#'a.c'i	ABC	y	$&	ABC
#'a.c'i	AXC	y	$&	AXC
#'a.*?c'i	AXYZC	y	$&	AXYZC
#'a.*c'i	AXYZD	n	-	-
#'a[bc]d'i	ABC	n	-	-
#'a[bc]d'i	ABD	y	$&	ABD
#'a[b-d]e'i	ABD	n	-	-
#'a[b-d]e'i	ACE	y	$&	ACE
#'a[b-d]'i	AAC	y	$&	AC
#'a[-b]'i	A-	y	$&	A-
#'a[b-]'i	A-	y	$&	A-
#'a[b-a]'i	-	c	-	Invalid [] range \"b-a\"
#'a[]b'i	-	c	-	Unmatched [
#'a['i	-	c	-	Unmatched [
#'a]'i	A]	y	$&	A]
#'a[]]b'i	A]B	y	$&	A]B
#'a[^bc]d'i	AED	y	$&	AED
#'a[^bc]d'i	ABD	n	-	-
#'a[^-b]c'i	ADC	y	$&	ADC
#'a[^-b]c'i	A-C	n	-	-
#'a[^]b]c'i	A]C	n	-	-
#'a[^]b]c'i	ADC	y	$&	ADC
#'ab|cd'i	ABC	y	$&	AB
#'ab|cd'i	ABCD	y	$&	AB
#'()ef'i	DEF	y	$&-$1	EF-
#'*a'i	-	c	-	Quantifier follows nothing
#'(|*)b'i	-	c	-	Quantifier follows nothing
#'(*)b'i	-	c	-	Unknown verb
#'$b'i	B	n	-	-
#'a\'i	-	c	-	Search pattern not terminated
#'a\(b'i	A(B	y	$&-$1	A(B-
#'a\(*b'i	AB	y	$&	AB
#'a\(*b'i	A((B	y	$&	A((B
#'a\\b'i	A\\B	y	$&	A\\B
#'abc)'i	-	c	-	Unmatched )
#'(abc'i	-	c	-	Unmatched (
#'((a))'i	ABC	y	$&-$1-$2	A-A-A
#'(a)b(c)'i	ABC	y	$&-$1-$2	ABC-A-C
#'a+b+c'i	AABBABC	y	$&	ABC
#'a{1,}b{1,}c'i	AABBABC	y	$&	ABC
#'a**'i	-	c	-	Nested quantifiers
#'a.+?c'i	ABCABC	y	$&	ABC
#'a.*?c'i	ABCABC	y	$&	ABC
#'a.{0,5}?c'i	ABCABC	y	$&	ABC
#'(a+|b)*'i	AB	y	$&-$1	AB-B
#'(a+|b){0,}'i	AB	y	$&-$1	AB-B
#'(a+|b)+'i	AB	y	$&-$1	AB-B
#'(a+|b){1,}'i	AB	y	$&-$1	AB-B
#'(a+|b)?'i	AB	y	$&-$1	A-A
#'(a+|b){0,1}'i	AB	y	$&-$1	A-A
#'(a+|b){0,1}?'i	AB	y	$&-$1	-
#')('i	-	c	-	Unmatched )
#'[^ab]*'i	CDE	y	$&	CDE
#'abc'i		n	-	-
#'a*'i		y	$&	
#'([abc])*d'i	ABBBCD	y	$&-$1	ABBBCD-C
#'([abc])*bcd'i	ABCD	y	$&-$1	ABCD-A
#'a|b|c|d|e'i	E	y	$&	E
#'(a|b|c|d|e)f'i	EF	y	$&-$1	EF-E
#'abcd*efg'i	ABCDEFG	y	$&	ABCDEFG
#'ab*'i	XABYABBBZ	y	$&	AB
#'ab*'i	XAYABBBZ	y	$&	A
#'(ab|cd)e'i	ABCDE	y	$&-$1	CDE-CD
#'[abhgefdc]ij'i	HIJ	y	$&	HIJ
#'^(ab|cd)e'i	ABCDE	n	x$1y	XY
#'(abc|)ef'i	ABCDEF	y	$&-$1	EF-
#'(a|b)c*d'i	ABCD	y	$&-$1	BCD-B
#'(ab|ab*)bc'i	ABC	y	$&-$1	ABC-A
#'a([bc]*)c*'i	ABC	y	$&-$1	ABC-BC
#'a([bc]*)(c*d)'i	ABCD	y	$&-$1-$2	ABCD-BC-D
#'a([bc]+)(c*d)'i	ABCD	y	$&-$1-$2	ABCD-BC-D
#'a([bc]*)(c+d)'i	ABCD	y	$&-$1-$2	ABCD-B-CD
#'a[bcd]*dcdcde'i	ADCDCDE	y	$&	ADCDCDE
#'a[bcd]+dcdcde'i	ADCDCDE	n	-	-
#'(ab|a)b*c'i	ABC	y	$&-$1	ABC-AB
#'((a)(b)c)(d)'i	ABCD	y	$1-$2-$3-$4	ABC-A-B-D
#'[a-zA-Z_][a-zA-Z0-9_]*'i	ALPHA	y	$&	ALPHA
#'^a(bc+|b[eh])g|.h$'i	ABH	y	$&-$1	BH-
#'(bc+d$|ef*g.|h?i(j|k))'i	EFFGZ	y	$&-$1-$2	EFFGZ-EFFGZ-
#'(bc+d$|ef*g.|h?i(j|k))'i	IJ	y	$&-$1-$2	IJ-IJ-J
#'(bc+d$|ef*g.|h?i(j|k))'i	EFFG	n	-	-
#'(bc+d$|ef*g.|h?i(j|k))'i	BCDD	n	-	-
#'(bc+d$|ef*g.|h?i(j|k))'i	REFFGZ	y	$&-$1-$2	EFFGZ-EFFGZ-
#'((((((((((a))))))))))'i	A	y	$10	A
#'((((((((((a))))))))))\10'i	AA	y	$&	AA
#'((((((((((a))))))))))${bang}'i	AA	n	-	-
#'((((((((((a))))))))))${bang}'i	A!	y	$&	A!
#'(((((((((a)))))))))'i	A	y	$&	A
##'(?:(?:(?:(?:(?:(?:(?:(?:(?:(a))))))))))'i	A	y	$1	A
##'(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))'i	C	y	$1	C
#'multiple words of text'i	UH-UH	n	-	-
#'multiple words'i	MULTIPLE WORDS, YEAH	y	$&	MULTIPLE WORDS
#'(.*)c(.*)'i	ABCDE	y	$&-$1-$2	ABCDE-AB-DE
#'\((.*), (.*)\)'i	(A, B)	y	($2, $1)	(B, A)
#'[k]'i	AB	n	-	-
#'abcd'i	ABCD	y	$&-\$&-\\$&	ABCD-\$&-\\ABCD
#'a(bc)d'i	ABCD	y	$1-\$1-\\$1	BC-\$1-\\BC
##'a[-]?c'i	AC	y	$&	AC
#'(abc)\1'i	ABCABC	y	$1	ABC
#'([a-c]*)\1'i	ABCABC	y	$1	ABC
#a(?!b).	abad	y	$&	ad
#a(?=d).	abad	y	$&	ad
#a(?=c|d).	abad	y	$&	ad
#a(?:b|c|d)(.)	ace	y	$1	e
#a(?:b|c|d)*(.)	ace	y	$1	e
#a(?:b|c|d)+?(.)	ace	y	$1	e
#a(?:b|c|d)+?(.)	acdbcdbe	y	$1	d
#a(?:b|c|d)+(.)	acdbcdbe	y	$1	e
#a(?:b|c|d){2}(.)	acdbcdbe	y	$1	b
#a(?:b|c|d){4,5}(.)	acdbcdbe	y	$1	b
#a(?:b|c|d){4,5}?(.)	acdbcdbe	y	$1	d
#((foo)|(bar))*	foobar	y	$1-$2-$3	bar-foo-bar
#:(?:	-	c	-	Sequence (? incomplete
#a(?:b|c|d){6,7}(.)	acdbcdbe	y	$1	e
#a(?:b|c|d){6,7}?(.)	acdbcdbe	y	$1	e
#a(?:b|c|d){5,6}(.)	acdbcdbe	y	$1	e
#a(?:b|c|d){5,6}?(.)	acdbcdbe	y	$1	b
#a(?:b|c|d){5,7}(.)	acdbcdbe	y	$1	e
#a(?:b|c|d){5,7}?(.)	acdbcdbe	y	$1	b
#a(?:b|(c|e){1,2}?|d)+?(.)	ace	y	$1$2	ce
^(.+)?B	AB	y	$1	A
^([^a-z])|(\^)$	.	y	$1	.
^[<>]&	<&OUT	y	$&	<&
#^(a\1?){4}$	aaaaaaaaaa	y	$1	aaaa
#^(a\1?){4}$	aaaaaaaaa	n	-	-
#^(a\1?){4}$	aaaaaaaaaaa	n	-	-
#^(a(?(1)\1)){4}$	aaaaaaaaaa	y	$1	aaaa
#^(a(?(1)\1)){4}$	aaaaaaaaa	n	-	-
#^(a(?(1)\1)){4}$	aaaaaaaaaaa	n	-	-
#((a{4})+)	aaaaaaaaa	y	$1	aaaaaaaa
#(((aa){2})+)	aaaaaaaaaa	y	$1	aaaaaaaa
#(((a{2}){2})+)	aaaaaaaaaa	y	$1	aaaaaaaa
#(?:(f)(o)(o)|(b)(a)(r))*	foobar	y	$1:$2:$3:$4:$5:$6	f:o:o:b:a:r
#(?<=a)b	ab	y	$&	b
#(?<=a)b	cb	n	-	-
#(?<=a)b	b	n	-	-
#(?<!c)b	ab	y	$&	b
#(?<!c)b	cb	n	-	-
#(?<!c)b	b	y	-	-
#(?<!c)b	b	y	$&	b
#(?<%)b	-	c	-	Sequence (?<%...) not recognized
#(?:..)*a	aba	y	$&	aba
#(?:..)*?a	aba	y	$&	a
#^(?:b|a(?=(.)))*\1	abc	y	$&	ab
#^(){3,5}	abc	y	a$1	a
^(a+)*ax	aax	y	$1	a
^((a|b)+)*ax	aax	y	$1	a
^((a|bc)+)*ax	aax	y	$1	a
(a|x)*ab	cab	y	y$1	y
(a)*ab	cab	y	y$1	y
#(?:(?i)a)b	ab	y	$&	ab
#((?i)a)b	ab	y	$&:$1	ab:a
#(?:(?i)a)b	Ab	y	$&	Ab
#((?i)a)b	Ab	y	$&:$1	Ab:A
#(?:(?i)a)b	aB	n	-	-
#((?i)a)b	aB	n	-	-
#(?i:a)b	ab	y	$&	ab
#((?i:a))b	ab	y	$&:$1	ab:a
#(?i:a)b	Ab	y	$&	Ab
#((?i:a))b	Ab	y	$&:$1	Ab:A
#(?i:a)b	aB	n	-	-
#((?i:a))b	aB	n	-	-
#'(?:(?-i)a)b'i	ab	y	$&	ab
#'((?-i)a)b'i	ab	y	$&:$1	ab:a
#'(?:(?-i)a)b'i	aB	y	$&	aB
#'((?-i)a)b'i	aB	y	$&:$1	aB:a
#'(?:(?-i)a)b'i	Ab	n	-	-
#'((?-i)a)b'i	Ab	n	-	-
#'(?:(?-i)a)b'i	aB	y	$&	aB
#'((?-i)a)b'i	aB	y	$1	a
#'(?:(?-i)a)b'i	AB	n	-	-
#'((?-i)a)b'i	AB	n	-	-
#'(?-i:a)b'i	ab	y	$&	ab
#'((?-i:a))b'i	ab	y	$&:$1	ab:a
#'(?-i:a)b'i	aB	y	$&	aB
#'((?-i:a))b'i	aB	y	$&:$1	aB:a
#'(?-i:a)b'i	Ab	n	-	-
#'((?-i:a))b'i	Ab	n	-	-
#'(?-i:a)b'i	aB	y	$&	aB
#'((?-i:a))b'i	aB	y	$1	a
#'(?-i:a)b'i	AB	n	-	-
#'((?-i:a))b'i	AB	n	-	-
#'((?-i:a.))b'i	a\nB	n	-	-
#'((?s-i:a.))b'i	a\nB	y	$1	a\n
#'((?s-i:a.))b'i	B\nB	n	-	-
#(?:c|d)(?:)(?:a(?:)(?:b)(?:b(?:))(?:b(?:)(?:b)))	cabbbb	y	$&	cabbbb
#(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))	caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb	y	$&	caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
#'(ab)\d\1'i	Ab4ab	y	$1	Ab
#'(ab)\d\1'i	ab4Ab	y	$1	ab
#foo\w*\d{4}baz	foobar1234baz	y	$&	foobar1234baz
#a(?{})b	cabd	y	$&	ab
#a(?{)b	-	c	-	Sequence (?{...}) not terminated or not {}-balanced
#a(?{{})b	-	c	-	Sequence (?{...}) not terminated or not {}-balanced
#a(?{}})b	-	c	-	
#a(?{"{"})b	-	c	-	Sequence (?{...}) not terminated or not {}-balanced
#a(?{"\{"})b	cabd	y	$&	ab
#a(?{"{"}})b	-	c	-	Unmatched right curly bracket
#a(?{$::bl="\{"}).b	caxbd	y	$::bl	{
#x(~~)*(?:(?:F)?)?	x~~	y	-	-
#^a(?#xxx){3}c	aaac	y	$&	aaac
#'^a (?#xxx) (?#yyy) {3}c'x	aaac	y	$&	aaac
#(?<![cd])b	dbcb	n	-	-
#(?<![cd])[ab]	dbaacb	y	$&	a
#(?<!(c|d))b	dbcb	n	-	-
#(?<!(c|d))[ab]	dbaacb	y	$&	a
#(?<!cd)[ab]	cdaccb	y	$&	b
#^(?:a?b?)*$	a--	n	-	-
#((?s)^a(.))((?m)^b$)	a\nb\nc\n	y	$1;$2;$3	a\n;\n;b
#((?m)^b$)	a\nb\nc\n	y	$1	b
#(?m)^b	a\nb\n	y	$&	b
#(?m)^(b)	a\nb\n	y	$1	b
#((?m)^b)	a\nb\n	y	$1	b
#\n((?m)^b)	a\nb\n	y	$1	b
#((?s).)c(?!.)	a\nb\nc\n	y	$1	\n
#((?s).)c(?!.)	a\nb\nc\n	y	$1:$&	\n:\nc
#((?s)b.)c(?!.)	a\nb\nc\n	y	$1	b\n
#((?s)b.)c(?!.)	a\nb\nc\n	y	$1:$&	b\n:b\nc
^b	a\nb\nc\n	n	-	-
#()^b	a\nb\nc\n	n	-	-
#((?m)^b)	a\nb\nc\n	y	$1	b
#(?(1)a|b)	a	n	-	-
#(?(1)b|a)	a	y	$&	a
#(x)?(?(1)a|b)	a	n	-	-
#(x)?(?(1)b|a)	a	y	$&	a
#()?(?(1)b|a)	a	y	$&	a
#()(?(1)b|a)	a	n	-	-
#()?(?(1)a|b)	a	y	$&	a
#^(\()?blah(?(1)(\)))$	(blah)	y	$2	)
#^(\()?blah(?(1)(\)))$	blah	y	($2)	()
#^(\()?blah(?(1)(\)))$	blah)	n	-	-
#^(\()?blah(?(1)(\)))$	(blah	n	-	-
#^(\(+)?blah(?(1)(\)))$	(blah)	y	$2	)
#^(\(+)?blah(?(1)(\)))$	blah	y	($2)	()
#^(\(+)?blah(?(1)(\)))$	blah)	n	-	-
#^(\(+)?blah(?(1)(\)))$	(blah	n	-	-
#(?(1?)a|b)	a	c	-	Switch condition not recognized
#(?(1)a|b|c)	a	c	-	Switch (?(condition)... contains too many branches
#(?(?{0})a|b)	a	n	-	-
#(?(?{0})b|a)	a	y	$&	a
#(?(?{1})b|a)	a	n	-	-
#(?(?{1})a|b)	a	y	$&	a
#(?(?!a)a|b)	a	n	-	-
#(?(?!a)b|a)	a	y	$&	a
#(?(?=a)b|a)	a	n	-	-
#(?(?=a)a|b)	a	y	$&	a
#(?=(a+?))(\1ab)	aaab	y	$2	aab
#^(?=(a+?))\1ab	aaab	n	-	-
#(\w+:)+	one:	y	$1	one:
#$(?<=^(a))	a	y	$1	a
#(?=(a+?))(\1ab)	aaab	y	$2	aab
#^(?=(a+?))\1ab	aaab	n	-	-
#([\w:]+::)?(\w+)$	abcd:	n	-	-
#([\w:]+::)?(\w+)$	abcd	y	$1-$2	-abcd
#([\w:]+::)?(\w+)$	xy:z:::abcd	y	$1-$2	xy:z:::-abcd
#^[^bcd]*(c+)	aexycd	y	$1	c
(a*)b+	caab	y	$1	aa
#([\w:]+::)?(\w+)$	abcd:	n	-	-
#([\w:]+::)?(\w+)$	abcd	y	$1-$2	-abcd
^[^bcd]*(c+)	aexycd	y	$1	c
([[:]+)	a:[b]:	y	$1	:[
([[=]+)	a=[b]=	y	$1	=[
([[.]+)	a.[b].	y	$1	.[
[a[:]b[:c]	abc	y	$&	abc
[a[:]b[:c]	abc	y	$&	abc
.X(.+)+X	bbbbXcXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	y	-	-
.X(.+)+XX	bbbbXcXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	y	-	-
.XX(.+)+X	bbbbXXcXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	y	-	-
.X(.+)+X	bbbbXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	n	-	-
.X(.+)+XX	bbbbXXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	n	-	-
.XX(.+)+X	bbbbXXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	n	-	-
.X(.+)+[X]	bbbbXcXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	y	-	-
.X(.+)+[X][X]	bbbbXcXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	y	-	-
.XX(.+)+[X]	bbbbXXcXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	y	-	-
.X(.+)+[X]	bbbbXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	n	-	-
.X(.+)+[X][X]	bbbbXXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	n	-	-
.XX(.+)+[X]	bbbbXXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	n	-	-
.[X](.+)+[X]	bbbbXcXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	y	-	-
.[X](.+)+[X][X]	bbbbXcXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	y	-	-
.[X][X](.+)+[X]	bbbbXXcXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	y	-	-
.[X](.+)+[X]	bbbbXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	n	-	-
.[X](.+)+[X][X]	bbbbXXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	n	-	-
.[X][X](.+)+[X]	bbbbXXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	n	-	-
tt+$	xxxtt	y	-	-
'\.c(pp|xx|c)?$'	Changes	n	-	-
'\.c(pp|xx|c)?$'	IO.c	y	-	-
'(\.c(pp|xx|c)?$)'	IO.c	y	$1	.c
^([a-z]:)	C:/	n	-	-
(^|a)b	ab	y	-	-
^([ab]*?)(b)?(c)$	abac	y	-$2-	--
^(a)?a$	a	y	-$1-	--
(.*)c	abcd	y	$1	ab
(.*?)c	abcd	y	$1	ab
(WORDS|WORD)S	WORDS	y	$1	WORD
(X.|WORDS|X.|WORD)S	WORDS	y	$1	WORD
(WORDS|WORLD|WORD)S	WORDS	y	$1	WORD
(X.|WORDS|WORD|Y.)S	WORDS	y	$1	WORD
(foo|fool|x.|money|parted)$	fool	y	$1	fool
(x.|foo|fool|x.|money|parted|y.)$	fool	y	$1	fool
(foo|fool|money|parted)$	fool	y	$1	fool
(foo|fool|x.|money|parted)$	fools	n	-	-
(x.|foo|fool|x.|money|parted|y.)$	fools	n	-	-
(foo|fool|money|parted)$	fools	n	-	-
(a|aa|aaa|aaaa|aaaaa|aaaaaa)(b|c)	aaaaaaaaaaaaaaab	y	$1$2	aaaaaab
^(XXXXXXXXXX|YYYYYYYYYY|Z.Q*X|Z[TE]Q*P):	ZEQQQQQQQQQQQQQQQQQQP:	y	$1	ZEQQQQQQQQQQQQQQQQQQP
^(XXXXXXXXXX|YYYYYYYYYY|Z.Q*X|Z[TE]Q*P):	ZEQQQX:	y	$1	ZEQQQX
^([TUV]+|XXXXXXXXXX|YYYYYYYYYY|Z.Q*X|Z[TE]Q*P):	ZEQQQQQQQQQQQQQQQQQQP:	y	$1	ZEQQQQQQQQQQQQQQQQQQP
^([TUV]+|XXXXXXXXXX|YYYYYYYYYY|Z.Q*X|Z[TE]Q*P):	ZEQQQX:	y	$1	ZEQQQX
^([TUV]+|XXXXXXXXXX|YYYYYYYYYY|Z.Q*X|Z[TE]Q*P|[MKJ]):	ZEQQQQQQQQQQQQQQQQQQP:	y	$1	ZEQQQQQQQQQQQQQQQQQQP
^([TUV]+|XXXXXXXXXX|YYYYYYYYYY|Z.Q*X|Z[TE]Q*P|[MKJ]):	ZEQQQX:	y	$1	ZEQQQX
^(XXX|YYY|Z.Q*X|Z[TE]Q*P):	ZEQQQQQQQQQQQQQQQQQQP:	y	$1	ZEQQQQQQQQQQQQQQQQQQP
^(XXX|YYY|Z.Q*X|Z[TE]Q*P):	ZEQQQX:	y	$1	ZEQQQX
^([TUV]+|XXX|YYY|Z.Q*X|Z[TE]Q*P):	ZEQQQQQQQQQQQQQQQQQQP:	y	$1	ZEQQQQQQQQQQQQQQQQQQP
^([TUV]+|XXX|YYY|Z.Q*X|Z[TE]Q*P):	ZEQQQX:	y	$1	ZEQQQX
^([TUV]+|XXX|YYY|Z.Q*X|Z[TE]Q*P|[MKJ]):	ZEQQQQQQQQQQQQQQQQQQP:	y	$1	ZEQQQQQQQQQQQQQQQQQQP
^([TUV]+|XXX|YYY|Z.Q*X|Z[TE]Q*P|[MKJ]):	ZEQQQX:	y	$1	ZEQQQX
(((ABCD|ABCE|ABCF)))(A|B|C[xy]*):	ABCFCxxxxxxxxxx:DIM	y	$&	ABCFCxxxxxxxxxx:
# possessive captures
a{1,5}+a	aaaaa	n	-	-
a++b	aaaaab	y	$&	aaaaab
a*+b	aaaaab	y	$&	aaaaab
a?+b	ab	y	$&	ab
fooa{1,5}+a	fooaaaaa	n	-	-
fooa++b	fooaaaaab	y	$&	fooaaaaab
fooa*+b	fooaaaaab	y	$&	fooaaaaab
fooa?+b	fooab	y	$&	fooab

(foo[1x]|bar[2x]|baz[3x])+y	foo1bar2baz3y	y	$1	baz3
(foo[1x]|bar[2x]|baz[3x])+y	foo1bar2baz3y	y	$&	foo1bar2baz3y
(foo[1x]|bar[2x]|baz[3x])*y	foo1bar2baz3y	y	$1	baz3
(foo[1x]|bar[2x]|baz[3x])*y	foo1bar2baz3y	y	$&	foo1bar2baz3y

([yX].|WORDS|[yX].|WORD)S	WORDS	y	$1	WORD
(WORDS|WORLD|WORD)S	WORDS	y	$1	WORD
([yX].|WORDS|WORD|[xY].)S	WORDS	y	$1	WORD
(foo|fool|[zx].|money|parted)$	fool	y	$1	fool
([zx].|foo|fool|[zq].|money|parted|[yx].)$	fool	y	$1	fool
(foo|fool|[zx].|money|parted)$	fools	n	-	-
([zx].|foo|fool|[qx].|money|parted|[py].)$	fools	n	-	-

([yX].|WORDS|[yX].|WORD)+S	WORDS	y	$1	WORD
(WORDS|WORLD|WORD)+S	WORDS	y	$1	WORD
([yX].|WORDS|WORD|[xY].)+S	WORDS	y	$1	WORD
(foo|fool|[zx].|money|parted)+$	fool	y	$1	fool
([zx].|foo|fool|[zq].|money|parted|[yx].)+$	fool	y	$1	fool
(foo|fool|[zx].|money|parted)+$	fools	n	-	-
([zx].|foo|fool|[qx].|money|parted|[py].)+$	fools	n	-	-
(x|y|z[QW])+(longish|loquatious|excessive|overblown[QW])+	xyzQzWlongishoverblownW	y	$1-$2	zW-overblownW
(x|y|z[QW])*(longish|loquatious|excessive|overblown[QW])*	xyzQzWlongishoverblownW	y	$1-$2	zW-overblownW
(x|y|z[QW])++(longish|loquatious|excessive|overblown[QW])++	xyzQzWlongishoverblownW	y	$1-$2	zW-overblownW
(x|y|z[QW])*+(longish|loquatious|excessive|overblown[QW])*+	xyzQzWlongishoverblownW	y	$1-$2	zW-overblownW