Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
att
GitHub Repository: att/ast
Path: blob/master/src/cmd/re/pcre-3.dat
1808 views
E	(?<!bar)foo	foo	(0,3)
E	SAME	catfood	(3,6)
E	SAME	arfootle	(2,5)
E	SAME	rfoosh	(1,4)
E	SAME	barfoo	NOMATCH
E	SAME	towbarfoo	NOMATCH
E$	\\w{3}(?<!bar)foo	catfood	(0,6)
E$	SAME	foo	NOMATCH
E$	SAME	barfoo	NOMATCH
E$	SAME	towbarfoo	NOMATCH
E	(?<=(foo)a)bar	fooabar	(4,7)(0,3)
E	SAME	bar	NOMATCH
E	SAME	foobbar	NOMATCH
E$n	\\Aabc\\z	abc	(0,3)
E$n	SAME	abc\n	NOMATCH
E$n	SAME	qqq\nabc	NOMATCH
E$n	SAME	abc\nzzz	NOMATCH
E$n	SAME	qqq\nabc\nzzz	NOMATCH
E	(?>.*/)foo	/this/is/a/very/long/line/in/deed/with/very/many/slashes/in/it/you/see/	NOMATCH
E	(?>.*/)foo	/this/is/a/very/long/line/in/deed/with/very/many/slashes/in/and/foo	(0,67)
E$	(?>(\\.\\d\\d[1-9]?))\\d+	1.230003938	(1,11)(1,4)
E$	SAME	1.875000282	(1,11)(1,5)
E$	SAME	1.235	NOMATCH
E$	^((?>\\w+)|(?>\\s+))*$	now is the time for all good men to come to the aid of the party	(0,64)(59,64)
E$	SAME	this is not a line with only words and spaces!	NOMATCH
E$	(\\d+)(\\w)	12345a	(0,6)(0,5)(5,6)
E$	SAME	12345+	(0,5)(0,4)(4,5)
E$	((?>\\d+))(\\w)	12345a	(0,6)(0,5)(5,6)
E$	SAME	12345+	NOMATCH
E	(?>a+)b	aaab	(0,4)
E	((?>a+)b)	aaab	(0,4)(0,4)
E	(?>(a+))b	aaab	(0,4)(0,3)
E	(?>b)	aaabbbccc	(3,4)
E	(?>b)*	aaabbbccc	(0,0)
E	(?>b)+	aaabbbccc	(3,6)
E	(?>(b))+	aaabbbccc	(3,6)(5,6)
E	((?>b))+	aaabbbccc	(3,6)(5,6)
E	((?>(b)))+	aaabbbccc	(3,6)(5,6)(5,6)
E	(?>b)+.	aaabbbccc	(3,7)
E	(?:b)	aaabbbccc	(3,4)
E	(?:b)*	aaabbbccc	(0,0)
E	(?:b)+	aaabbbccc	(3,6)
E	(?:(b))+	aaabbbccc	(3,6)(5,6)
E	((?:b))+	aaabbbccc	(3,6)(5,6)
E	((?:(b)))+	aaabbbccc	(3,6)(5,6)(5,6)
E	(?:b)+.	aaabbbccc	(3,7)
E	(a+|b+|c+)*c	aaabbbbccccd	(0,11)(7,10)
E	(?>a+|b+|c+)*c	aaabbbbccccd	(0,8)
E$	((?>[^()]+)|\\([^()]*\\))+	((abc(ade)ufh()()x	(2,18)(17,18)
E$	\\(((?>[^()]+)|\\([^()]+\\))+\\)	(abc)	(0,5)(1,4)
E$	SAME	(abc(def)xyz)	(0,13)(9,12)
E$	SAME	((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	NOMATCH
Ei	(?-i)ab	ab	(0,2)
Ei	SAME	Ab	NOMATCH
Ei	SAME	aB	NOMATCH
Ei	SAME	AB	NOMATCH
E	(?i)ab	ab	(0,2)
E	SAME	Ab	(0,2)
E	SAME	aB	(0,2)
E	SAME	AB	(0,2)
Ei	a(?-i)b	ab	(0,2)
Ei	SAME	Ab	(0,2)
Ei	SAME	aB	NOMATCH
Ei	SAME	AB	NOMATCH
E	a(?i)b	ab	(0,2)
E	SAME	Ab	NOMATCH
E	SAME	aB	(0,2)
E	SAME	AB	NOMATCH
Ei	(?-i)AB	ab	NOMATCH
Ei	SAME	Ab	NOMATCH
Ei	SAME	aB	NOMATCH
Ei	SAME	AB	(0,2)
E	(?i)AB	ab	(0,2)
E	SAME	Ab	(0,2)
E	SAME	aB	(0,2)
E	SAME	AB	(0,2)
Ei	A(?-i)B	ab	NOMATCH
Ei	SAME	Ab	NOMATCH
Ei	SAME	aB	(0,2)
Ei	SAME	AB	(0,2)
E	A(?i)B	ab	NOMATCH
E	SAME	Ab	(0,2)
E	SAME	aB	NOMATCH
E	SAME	AB	(0,2)
Ei	^(?-i)ab	ab	(0,2)
Ei	SAME	Ab	NOMATCH
Ei	SAME	aB	NOMATCH
Ei	SAME	AB	NOMATCH
E	^(?i)ab	ab	(0,2)
E	SAME	Ab	(0,2)
E	SAME	aB	(0,2)
E	SAME	AB	(0,2)
Ei	^a(?-i)b	ab	(0,2)
Ei	SAME	Ab	(0,2)
Ei	SAME	aB	NOMATCH
Ei	SAME	AB	NOMATCH
E	^a(?i)b	ab	(0,2)
E	SAME	Ab	NOMATCH
E	SAME	aB	(0,2)
E	SAME	AB	NOMATCH
Ei	^(?-i)AB	ab	NOMATCH
Ei	SAME	Ab	NOMATCH
Ei	SAME	aB	NOMATCH
Ei	SAME	AB	(0,2)
E	^(?i)AB	ab	(0,2)
E	SAME	Ab	(0,2)
E	SAME	aB	(0,2)
E	SAME	AB	(0,2)
Ei	^A(?-i)B	ab	NOMATCH
Ei	SAME	Ab	NOMATCH
Ei	SAME	aB	(0,2)
Ei	SAME	AB	(0,2)
E	^A(?i)B	ab	NOMATCH
E	SAME	Ab	(0,2)
E	SAME	aB	NOMATCH
E	SAME	AB	(0,2)
E	(a (?x)b c)d e	a bcde	NOMATCH
E	(a (?x)b c)d e	a bcd e	(0,7)(0,4)
E	SAME	a b cd e	NOMATCH
E	SAME	abcd e	NOMATCH
E	SAME	a bcde	NOMATCH
E	(a b(?x)c d (?-x)e f)	a bcde f	(0,8)(0,8)
E	SAME	abcdef	NOMATCH
E	(a(?i)b)c	abc	(0,3)(0,2)
E	SAME	aBc	(0,3)(0,2)
E	SAME	abC	NOMATCH
E	SAME	aBC	NOMATCH
E	SAME	Abc	NOMATCH
E	SAME	ABc	NOMATCH
E	SAME	ABC	NOMATCH
E	SAME	AbC	NOMATCH
E	a(?i:b)c	abc	(0,3)
E	SAME	aBc	(0,3)
E	SAME	ABC	NOMATCH
E	SAME	abC	NOMATCH
E	SAME	aBC	NOMATCH
E	a(?i:b)*c	aBc	(0,3)
E	SAME	aBBc	(0,4)
E	SAME	aBC	NOMATCH
E	SAME	aBBC	NOMATCH
E$	a(?=b(?i)c)\\w\\wd	abcd	(0,4)
E$	SAME	abCd	(0,4)
E$	SAME	aBCd	NOMATCH
E$	SAME	abcD	NOMATCH
Ei	(?s-i:more.*than).*million	more than million	(0,17)
Ei	SAME	more than MILLION	(0,17)
Ei$	SAME	more \n than Million	(0,19)
Ei$	SAME	MORE THAN MILLION	NOMATCH
Ei$	SAME	more \n than \n million	(0,21)
Ei	(?:(?s-i)more.*than).*million	more than million	(0,17)
Ei	SAME	more than MILLION	(0,17)
Ei$	SAME	more \n than Million	(0,19)
Ei$	SAME	MORE THAN MILLION	NOMATCH
Ei$	SAME	more \n than \n million	(0,21)
E	(?>a(?i)b+)+c	abc	(0,3)
E	SAME	aBbc	(0,4)
E	SAME	aBBc	(0,4)
E	SAME	Abc	NOMATCH
E	SAME	abAb	NOMATCH
E	SAME	abbC	NOMATCH
E$	(?=a(?i)b)\\w\\wc	abc	(0,3)
E$	SAME	aBc	(0,3)
E$	SAME	Ab	NOMATCH
E$	SAME	abC	NOMATCH
E$	SAME	aBC	NOMATCH
E$	(?<=a(?i)b)(\\w\\w)c	abxxc	(2,5)(2,4)
E$	SAME	aBxxc	(2,5)(2,4)
E$	SAME	Abxxc	NOMATCH
E$	SAME	ABxxc	NOMATCH
E$	SAME	abxxC	NOMATCH
E	(?:(a)|b)(?(1)A|B)	aA	(0,2)(0,1)
E	SAME	bB	(0,2)
E	SAME	aB	NOMATCH
E	SAME	bA	NOMATCH
E	(a)?(?(1)a|b)	aa	(0,2)(0,1)
E	(a)?(?(1)a|b)+	aa	(0,2)(0,1)
E	^(a)?(?(1)a|b)+$	aa	(0,2)(0,1)
E	SAME	b	(0,1)
E	SAME	bb	(0,2)
E	SAME	ab	NOMATCH
E$	\\w\\w\\w:		abc:	(0,4)
E$	\\d\\d			12	(0,2)
E$	(?(?=abc)\\w\\w\\w:|\\d\\d)	abc:	(0,4)
E$	^(?(?=abc)\\w\\w\\w:|\\d\\d)$	abc:	(0,4)
E$	^(?(?=abc)\\w{3}:|\\d\\d)$	abc:	(0,4)
E$	SAME	12	(0,2)
E$	SAME	123	NOMATCH
E$	SAME	xyz	NOMATCH
E$	^(?(?!abc)\\d\\d|\\w{3}:)$	abc:	(0,4)
E$	^(?(?!abc)\\d\\d|\\w\\w\\w:)$	abc:	(0,4)
E$	SAME	12	(0,2)
E$	SAME	123	NOMATCH
E$	SAME	xyz	NOMATCH
E	(?(?<=foo)bar|cat)	foobar	(3,6)
E	SAME	cat	(0,3)
E	SAME	fcat	(1,4)
E	SAME	focat	(2,5)
E	SAME	foocat	NOMATCH
E	(?(?<!foo)cat|bar)	foobar	(3,6)
E	SAME	cat	(0,3)
E	SAME	fcat	(1,4)
E	SAME	focat	(2,5)
E	SAME	foocat	NOMATCH
E$cz	( \\( )? [^()]+ (?(1) \\) |)	abcd	(0,4)
E$cz	SAME	(abcd)	(0,6)(0,1)
E$cz	SAME	the quick (abcd) fox	(0,10)
E$cz	SAME	(abcd	(1,5)
E$cz	( \\( )? [^()]+ (?(1) \\) )	abcd	(0,4)
E$cz	SAME	(abcd)	(0,6)(0,1)
E$cz	SAME	the quick (abcd) fox	(0,10)
E$cz	SAME	(abcd	(1,5)
E$	((?i)blah)\\s+\\1	blah blah	(0,9)(0,4)
E$	SAME	BLAH BLAH	(0,9)(0,4)
E$	SAME	Blah Blah	(0,9)(0,4)
E$	SAME	blaH blaH	(0,9)(0,4)
E$	SAME	blah BLAH	NOMATCH
E$	SAME	Blah blah	NOMATCH
E$	SAME	blaH blah	NOMATCH
E$	((?i)blah)\\s+(?i:\\1)	blah blah	(0,9)(0,4)
E$	SAME	BLAH BLAH	(0,9)(0,4)
E$	SAME	Blah Blah	(0,9)(0,4)
E$	SAME	blaH blaH	(0,9)(0,4)
E$	SAME	blah BLAH	(0,9)(0,4)
E$	SAME	Blah blah	(0,9)(0,4)
E$	SAME	blaH blah	(0,9)(0,4)
E	(?>a*)*	a	(0,1)
E	SAME	aa	(0,2)
E	SAME	aaaa	(0,4)
Ez	(abc|)+	abc	(0,3)(0,3)
Ez	SAME	abcabc	(0,6)(3,6)
Ez	SAME	abcabcabc	(0,9)(6,9)
Ez	SAME	xyz	(0,0)(0,0)
E	([a]*)*	a	(0,1)(0,1)
E	SAME	aaaaa	(0,5)(0,5)
E	([ab]*)*	a	(0,1)(0,1)
E	SAME	b	(0,1)(0,1)
E	SAME	ababab	(0,6)(0,6)
E	SAME	aaaabcde	(0,5)(0,5)
E	SAME	bbbb	(0,4)(0,4)
E	([^a]*)*	b	(0,1)(0,1)
E	SAME	bbbb	(0,4)(0,4)
E	SAME	aaa	(0,0)(0,0)
E	([^ab]*)*	cccc	(0,4)(0,4)
E	SAME	abab	(0,0)(0,0)
E	([a]*?)*	a	(0,0)(0,0)
E	SAME	aaaa	(0,0)(0,0)
E	([ab]*?)*	a	(0,0)(0,0)
E	SAME	b	(0,0)(0,0)
E	SAME	abab	(0,0)(0,0)
E	SAME	baba	(0,0)(0,0)
E	([^a]*?)*	b	(0,0)(0,0)
E	SAME	bbbb	(0,0)(0,0)
E	SAME	aaa	(0,0)(0,0)
E	([^ab]*?)*	c	(0,0)(0,0)
E	SAME	cccc	(0,0)(0,0)
E	SAME	baba	(0,0)(0,0)
E	(?>a*)*	a	(0,1)
E	SAME	aaabcde	(0,3)
E	((?>a*))*	aaaaa	(0,5)(0,5)
E	SAME	aabbaa	(0,2)(0,2)
E	((?>a*)*)	aaaaa	(0,5)(0,5)
E	SAME	aabbaa	(0,2)(0,2)
E	((?>a*?))*	aaaaa	(0,0)(0,0)
E	SAME	aabbaa	(0,0)(0,0)
E	((?>a*?)*)	aaaaa	(0,0)(0,0)
E	SAME	aabbaa	(0,0)(0,0)
E$c	(?(?=[^a-z]+[a-z])  \\d{2}-[a-z]{3}-\\d{2}  |  \\d{2}-\\d{2}-\\d{2} )	12-sep-98	(0,9)
E$c	SAME	12-09-98	(0,8)
E$c	SAME	sep-12-98	NOMATCH
E$	(?<=(foo))bar\\1	foobarfoo	(3,9)(0,3)
E$	SAME	foobarfootling	(3,9)(0,3)
E$	SAME	foobar	NOMATCH
E$	SAME	barfoo	NOMATCH
E	(?i:saturday|sunday)	saturday	(0,8)
E	SAME	sunday	(0,6)
E	SAME	Saturday	(0,8)
E	SAME	Sunday	(0,6)
E	SAME	SATURDAY	(0,8)
E	SAME	SUNDAY	(0,6)
E	SAME	SunDay	(0,6)
E	(a(?i)bc|BB)x	abcx	(0,4)(0,3)
E	SAME	aBCx	(0,4)(0,3)
E	SAME	bbx	(0,3)(0,2)
E	SAME	BBx	(0,3)(0,2)
E	SAME	abcX	NOMATCH
E	SAME	aBCX	NOMATCH
E	SAME	bbX	NOMATCH
E	SAME	BBX	NOMATCH
E	^([ab](?i)[cd]|[ef])	ac	(0,2)(0,2)
E	SAME	aC	(0,2)(0,2)
E	SAME	bD	(0,2)(0,2)
E	SAME	elephant	(0,1)(0,1)
E	SAME	Europe	(0,1)(0,1)
E	SAME	frog	(0,1)(0,1)
E	SAME	France	(0,1)(0,1)
E	SAME	Africa	NOMATCH
E	^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)	ab	(0,2)(0,2)
E	SAME	aBd	(0,3)(0,3)
E	SAME	xy	(0,2)(0,2)
E	SAME	xY	(0,2)(0,2)
E	SAME	zebra	(0,1)(0,1)
E	SAME	Zambesi	(0,1)(0,1)
E	SAME	aCD	NOMATCH
E	SAME	XY	NOMATCH
E$n	(?<=foo\\n)^bar	foo\nbar	(4,7)
E$n	SAME	bar	NOMATCH
E$n	SAME	baz\nbar	NOMATCH
E	(?<=(?<!foo)bar)baz	barbaz	(3,6)
E	SAME	barbarbaz	(6,9)
E	SAME	koobarbaz	(6,9)
E	SAME	baz	NOMATCH
E	SAME	foobarbaz	NOMATCH
E	The case of aaaaaa is missed out below because I think Perl 5.005_02 gets	/it wrong; it sets $1 to aaa rather than aa. Compare the following test,/	NOMATCH
E	SAME	/where it does set $1 to aa when matching aaaaaa./	NOMATCH
E$	^(a\\1?){4}$	a	ESUBREG
E$	^((a)\\2?){4}$	a	NOMATCH
E$	SAME	aa	NOMATCH
E$	SAME	aaa	NOMATCH
E$	SAME	aaaa	(0,4)(3,4)(3,4)
E$	SAME	aaaaa	(0,5)(4,5)(4,5)
E$	SAME	aaaaaaa	(0,7)(6,7)(6,7)
E$	SAME	aaaaaaaa	(0,8)(6,8)(6,7)
E$	SAME	aaaaaaaaa	NOMATCH
E$	SAME	aaaaaaaaaa	NOMATCH
E$	SAME	aaaaaaaaaaa	NOMATCH
E$	SAME	aaaaaaaaaaaa	NOMATCH
E$	SAME	aaaaaaaaaaaaa	NOMATCH
E$	SAME	aaaaaaaaaaaaaa	NOMATCH
E$	SAME	aaaaaaaaaaaaaaa	NOMATCH
E$	SAME	aaaaaaaaaaaaaaaa	NOMATCH
E$	^(aa?)(a\\1?)(a\\2?)(a\\3?)$	a	NOMATCH
E$	SAME	aa	NOMATCH
E$	SAME	aaa	NOMATCH
E$	SAME	aaaa	(0,4)(0,1)(1,2)(2,3)(3,4)
E$	SAME	aaaaa	(0,5)(0,2)(2,3)(3,4)(4,5)
E$	SAME	aaaaaa	(0,6)(0,2)(2,3)(3,5)(5,6)
E$	SAME	aaaaaaa	(0,7)(0,2)(2,5)(5,6)(6,7)
E$	SAME	aaaaaaaa	(0,8)(0,2)(2,5)(5,6)(6,8)
E$	SAME	aaaaaaaaa	NOMATCH
E$	SAME	aaaaaaaaaa	(0,10)(0,2)(2,5)(5,9)(9,10)
E$	SAME	aaaaaaaaaaa	NOMATCH
E$	SAME	aaaaaaaaaaaa	NOMATCH
E$	SAME	aaaaaaaaaaaaa	NOMATCH
E$	SAME	aaaaaaaaaaaaaa	(0,14)(0,2)(2,5)(5,9)(9,14)
E$	SAME	aaaaaaaaaaaaaaa	NOMATCH
E$	SAME	aaaaaaaaaaaaaaaa	NOMATCH
# The following tests are taken from the Perl 5.005 test suite
# some of them	are compatible with 5.004
# but I'd rather not have to sort them out.
E	abc	abc	(0,3)
E	SAME	xabcy	(1,4)
E	SAME	ababc	(2,5)
E	SAME	xbc	NOMATCH
E	SAME	axc	NOMATCH
E	SAME	abx	NOMATCH
E	ab*c	abc	(0,3)
E	ab*bc	abc	(0,3)
E	SAME	abbc	(0,4)
E	SAME	abbbbc	(0,6)
E	.{1}	abbbbc	(0,1)
E	.{3,4}	abbbbc	(0,4)
E	ab{0,}bc	abbbbc	(0,6)
E	ab+bc	abbc	(0,4)
E	SAME	abc	NOMATCH
E	SAME	abq	NOMATCH
E	ab+bc	abbbbc	(0,6)
E	ab{1,}bc	abbbbc	(0,6)
E	ab{1,3}bc	abbbbc	(0,6)
E	ab{3,4}bc	abbbbc	(0,6)
E	ab{4,5}bc	abq	NOMATCH
E	SAME	abbbbc	NOMATCH
E	ab?bc	abbc	(0,4)
E	SAME	abc	(0,3)
E	ab{0,1}bc	abc	(0,3)
E	ab?c	abc	(0,3)
E	ab{0,1}c	abc	(0,3)
E	^abc$	abc	(0,3)
E	SAME	abbbbc	NOMATCH
E	SAME	abcc	NOMATCH
E	^abc	abcc	(0,3)
E	abc$	aabc	(1,4)
E	SAME	aabc	(1,4)
E	SAME	aabcd	NOMATCH
E	^	abc	(0,0)
E	$	abc	(3,3)
E	a.c	abc	(0,3)
E	SAME	axc	(0,3)
E	a.*c	axyzc	(0,5)
E	a[bc]d	abd	(0,3)
E	SAME	axyzd	NOMATCH
E	SAME	abc	NOMATCH
E	a[b-d]e	ace	(0,3)
E	a[b-d]	aac	(1,3)
E	a[-b]	a-	(0,2)
E	a[b-]	a-	(0,2)
E	a]	a]	(0,2)
E	a[]]b	a]b	(0,3)
E	a[^bc]d	aed	(0,3)
E	SAME	abd	NOMATCH
E	SAME	abd	NOMATCH
E	a[^-b]c	adc	(0,3)
E	a[^]b]c	adc	(0,3)
E	SAME	a-c	(0,3)
E	SAME	a]c	NOMATCH
E$	\\ba\\b	a-	(0,1)
E$	SAME	-a	(1,2)
E$	SAME	-a-	(1,2)
E$	\\by\\b	xy	NOMATCH
E$	SAME	yz	NOMATCH
E$	SAME	xyz	NOMATCH
E$	\\Ba\\B	a-	NOMATCH
E$	SAME	-a	NOMATCH
E$	SAME	-a-	NOMATCH
E$	\\By\\b	xy	(1,2)
E$	\\by\\B	yz	(0,1)
E$	\\By\\B	xyz	(1,2)
E$	\\w	a	(0,1)
E$	\\W	-	(0,1)
E$	SAME	-	(0,1)
E$	SAME	a	NOMATCH
E$	a\\sb	a b	(0,3)
E$	a\\Sb	a-b	(0,3)
E$	SAME	a-b	(0,3)
E$	SAME	a b	NOMATCH
E$	\\d	1	(0,1)
E$	\\D	-	(0,1)
E$	SAME	-	(0,1)
E$	SAME	1	NOMATCH
E$v	[\\w]	a	(0,1)
E$v	[\\W]	-	(0,1)
E$v	SAME	-	(0,1)
E$v	SAME	a	NOMATCH
E$v	a[\\s]b	a b	(0,3)
E$v	a[\\S]b	a-b	(0,3)
E$v	SAME	a-b	(0,3)
E$v	SAME	a b	NOMATCH
E$v	[\\d]	1	(0,1)
E$v	[\\D]	-	(0,1)
E$v	SAME	-	(0,1)
E$v	SAME	1	NOMATCH
E	ab|cd	abc	(0,2)
E	SAME	abcd	(0,2)
Ez	()ef	def	(1,3)(1,1)
E$	a\\(b	a(b	(0,3)
E$	a\\(*b	ab	(0,2)
E$	SAME	a((b	(0,4)
E$	a\\\\b	a\b	NOMATCH
E	((a))	abc	(0,1)(0,1)(0,1)
E	(a)b(c)	abc	(0,3)(0,1)(2,3)
E	a+b+c	aabbabc	(4,7)
E	a{1,}b{1,}c	aabbabc	(4,7)
E	a.+?c	abcabc	(0,3)
E	(a+|b)*	ab	(0,2)(1,2)
E	(a+|b){0,}	ab	(0,2)(1,2)
E	(a+|b)+	ab	(0,2)(1,2)
E	(a+|b){1,}	ab	(0,2)(1,2)
E	(a+|b)?	ab	(0,1)(0,1)
E	(a+|b){0,1}	ab	(0,1)(0,1)
E	[^ab]*	cde	(0,3)
E	abc	b	NOMATCH
E	([abc])*d	abbbcd	(0,6)(4,5)
E	([abc])*bcd	abcd	(0,4)(0,1)
E	a|b|c|d|e	e	(0,1)
E	(a|b|c|d|e)f	ef	(0,2)(0,1)
E	abcd*efg	abcdefg	(0,7)
E	ab*	xabyabbbz	(1,3)
E	SAME	xayabbbz	(1,2)
E	(ab|cd)e	abcde	(2,5)(2,4)
E	[abhgefdc]ij	hij	(0,3)
Ez	(abc|)ef	abcdef	(4,6)(4,4)
E	(a|b)c*d	abcd	(1,4)(1,2)
E	(ab|ab*)bc	abc	(0,3)(0,1)
E	a([bc]*)c*	abc	(0,3)(1,3)
E	a([bc]*)(c*d)	abcd	(0,4)(1,3)(3,4)
E	a([bc]+)(c*d)	abcd	(0,4)(1,3)(3,4)
E	a([bc]*)(c+d)	abcd	(0,4)(1,2)(2,4)
E	a[bcd]*dcdcde	adcdcde	(0,7)
E	a[bcd]+dcdcde	abcde	NOMATCH
E	SAME	adcdcde	NOMATCH
E	(ab|a)b*c	abc	(0,3)(0,2)
E	((a)(b)c)(d)	abcd	(0,4)(0,3)(0,1)(1,2)(3,4)
E	[a-zA-Z_][a-zA-Z0-9_]*	alpha	(0,5)
E	^a(bc+|b[eh])g|.h$	abh	(1,3)
E	(bc+d$|ef*g.|h?i(j|k))	effgz	(0,5)(0,5)
E	SAME	ij	(0,2)(0,2)(1,2)
E	SAME	reffgz	(1,6)(1,6)
E	SAME	effg	NOMATCH
E	SAME	bcdd	NOMATCH
E	((((((((((a))))))))))	a	(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)
E$	((((((((((a))))))))))\\10	aa	NOMATCH
E$	((((((((((a))))))))))\\10	aa0	(0,3)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)
E$	((((((((((a))))))))))(?10)	aa	(0,2)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)
E	(((((((((a)))))))))	a	(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)
E	multiple words of text	aa	NOMATCH
E	SAME	uh-uh	NOMATCH
E	multiple words	multiple words, yeah	(0,14)
E	(.*)c(.*)	abcde	(0,5)(0,2)(3,5)
E$	\\((.*), (.*)\\)	(a, b)	(0,6)(1,2)(4,5)
E	abcd	abcd	(0,4)
E	a(bc)d	abcd	(0,4)(1,3)
E	a[-]?c	ac	(0,2)
E$	(abc)\\1	abcabc	(0,6)(0,3)
E$	([a-c]*)\\1	abcabc	(0,6)(0,3)
E$	(a)|\\1	a	(0,1)(0,1)
E$	SAME	ab	(0,1)(0,1)
E$	SAME	x	NOMATCH
E$	(([a-c])b*?\\2)*	ababbbcbc	(0,5)(3,5)(3,4)
E$	(([a-c])b*?\\2){3}	ababbbcbc	(0,9)(6,9)(6,7)
E	((a|b)\2(a)x)+		aaaxabaxbaaxbbax	(0,4)(0,4)(0,1)(2,3)
E$	((\\3|b)\\2(a)x)+	aaaxabaxbaaxbbax	ESUBREG
E$	((\\3|b)\\2(a)){2,}	bbaababbabaaaaabbaaaabba	ESUBREG
Ei	abc	ABC	(0,3)
Ei	SAME	XABCY	(1,4)
Ei	SAME	ABABC	(2,5)
Ei	SAME	aaxabxbaxbbx	NOMATCH
Ei	SAME	XBC	NOMATCH
Ei	SAME	AXC	NOMATCH
Ei	SAME	ABX	NOMATCH
Ei	ab*c	ABC	(0,3)
Ei	ab*bc	ABC	(0,3)
Ei	SAME	ABBC	(0,4)
Ei	ab*?bc	ABBBBC	(0,6)
Ei	ab{0,}?bc	ABBBBC	(0,6)
Ei	ab+?bc	ABBC	(0,4)
Ei	ab+bc	ABC	NOMATCH
Ei	SAME	ABQ	NOMATCH
Ei	ab+bc	ABBBBC	(0,6)
Ei	ab{1,}?bc	ABBBBC	(0,6)
Ei	ab{1,3}?bc	ABBBBC	(0,6)
Ei	ab{3,4}?bc	ABBBBC	(0,6)
Ei	ab{4,5}?bc	ABQ	NOMATCH
Ei	SAME	ABBBBC	NOMATCH
Ei	ab??bc	ABBC	(0,4)
Ei	SAME	ABC	(0,3)
Ei	ab{0,1}?bc	ABC	(0,3)
Ei	ab??c	ABC	(0,3)
Ei	ab{0,1}?c	ABC	(0,3)
Ei	^abc$	ABC	(0,3)
Ei	SAME	ABBBBC	NOMATCH
Ei	SAME	ABCC	NOMATCH
Ei	^abc	ABCC	(0,3)
Ei	abc$	AABC	(1,4)
Ei	^	ABC	(0,0)
Ei	$	ABC	(3,3)
Ei	a.c	ABC	(0,3)
Ei	SAME	AXC	(0,3)
Ei	a.*?c	AXYZC	(0,5)
Ei	a.*c	AABC	(0,4)
Ei	SAME	AXYZD	NOMATCH
Ei	a[bc]d	ABD	(0,3)
Ei	a[b-d]e	ACE	(0,3)
Ei	SAME	ABC	NOMATCH
Ei	SAME	ABD	NOMATCH
Ei	a[b-d]	AAC	(1,3)
Ei	a[-b]	A-	(0,2)
Ei	a[b-]	A-	(0,2)
Ei	a]	A]	(0,2)
Ei	a[]]b	A]B	(0,3)
Ei	a[^bc]d	AED	(0,3)
Ei	a[^-b]c	ADC	(0,3)
Ei	SAME	ABD	NOMATCH
Ei	SAME	A-C	NOMATCH
Ei	a[^]b]c	ADC	(0,3)
Ei	ab|cd	ABC	(0,2)
Ei	SAME	ABCD	(0,2)
Ezi	()ef	DEF	(1,3)(1,1)
Ei	$b	A]C	NOMATCH
Ei	SAME	B	NOMATCH
E$i	a\\(b	A(B	(0,3)
E$i	a\\(*b	AB	(0,2)
E$i	SAME	A((B	(0,4)
E$i	a\\\\b	A\\B	(0,3)
Ei	((a))	ABC	(0,1)(0,1)(0,1)
Ei	(a)b(c)	ABC	(0,3)(0,1)(2,3)
Ei	a+b+c	AABBABC	(4,7)
Ei	a{1,}b{1,}c	AABBABC	(4,7)
Ei	a.+?c	ABCABC	(0,3)
Ei	a.*?c	ABCABC	(0,3)
Ei	a.{0,5}?c	ABCABC	(0,3)
Ei	(a+|b)*	AB	(0,2)(1,2)
Ei	(a+|b){0,}	AB	(0,2)(1,2)
Ei	(a+|b)+	AB	(0,2)(1,2)
Ei	(a+|b){1,}	AB	(0,2)(1,2)
Ei	(a+|b)?	AB	(0,1)(0,1)
Ei	(a+|b){0,1}	AB	(0,1)(0,1)
Ei	(a+|b){0,1}?	AB	(0,0)
Ei	[^ab]*	CDE	(0,3)
Ei	([abc])*d	ABBBCD	(0,6)(4,5)
Ei	([abc])*bcd	ABCD	(0,4)(0,1)
Ei	a|b|c|d|e	E	(0,1)
Ei	(a|b|c|d|e)f	EF	(0,2)(0,1)
Ei	abcd*efg	ABCDEFG	(0,7)
Ei	ab*	XABYABBBZ	(1,3)
Ei	SAME	XAYABBBZ	(1,2)
Ei	(ab|cd)e	ABCDE	(2,5)(2,4)
Ei	[abhgefdc]ij	HIJ	(0,3)
Ei	^(ab|cd)e	ABCDE	NOMATCH
Ezi	(abc|)ef	ABCDEF	(4,6)(4,4)
Ei	(a|b)c*d	ABCD	(1,4)(1,2)
Ei	(ab|ab*)bc	ABC	(0,3)(0,1)
Ei	a([bc]*)c*	ABC	(0,3)(1,3)
Ei	a([bc]*)(c*d)	ABCD	(0,4)(1,3)(3,4)
Ei	a([bc]+)(c*d)	ABCD	(0,4)(1,3)(3,4)
Ei	a([bc]*)(c+d)	ABCD	(0,4)(1,2)(2,4)
Ei	a[bcd]*dcdcde	ADCDCDE	(0,7)
Ei	(ab|a)b*c	ABC	(0,3)(0,2)
Ei	((a)(b)c)(d)	ABCD	(0,4)(0,3)(0,1)(1,2)(3,4)
Ei	[a-zA-Z_][a-zA-Z0-9_]*	ALPHA	(0,5)
Ei	^a(bc+|b[eh])g|.h$	ABH	(1,3)
Ei	(bc+d$|ef*g.|h?i(j|k))	EFFGZ	(0,5)(0,5)
Ei	SAME	IJ	(0,2)(0,2)(1,2)
Ei	SAME	REFFGZ	(1,6)(1,6)
Ei	SAME	ADCDCDE	NOMATCH
Ei	SAME	EFFG	NOMATCH
Ei	SAME	BCDD	NOMATCH
Ei	((((((((((a))))))))))	A	(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)
E$i	((((((((((a))))))))))\\10	AA	NOMATCH
E$i	((((((((((a))))))))))\\10	AA0	(0,3)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)
E$i	((((((((((a))))))))))(?10)	AA	(0,2)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)
Ei	(((((((((a)))))))))	A	(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)
Ei	(?:(?:(?:(?:(?:(?:(?:(?:(?:(a))))))))))	A	(0,1)(0,1)
Ei	(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))	C	(0,1)(0,1)
Ei	multiple words of text	AA	NOMATCH
Ei	SAME	UH-UH	NOMATCH
Ei	multiple words	MULTIPLE WORDS, YEAH	(0,14)
Ei	(.*)c(.*)	ABCDE	(0,5)(0,2)(3,5)
E$i	\\((.*), (.*)\\)	(A, B)	(0,6)(1,2)(4,5)
Ei	abcd	ABCD	(0,4)
Ei	a(bc)d	ABCD	(0,4)(1,3)
Ei	a[-]?c	AC	(0,2)
E$i	(abc)\\1	ABCABC	(0,6)(0,3)
E$i	([a-c]*)\\1	ABCABC	(0,6)(0,3)
E	a(?!b).	abad	(2,4)
E	a(?=d).	abad	(2,4)
E	a(?=c|d).	abad	(2,4)
E	a(?:b|c|d)(.)	ace	(0,3)(2,3)
E	a(?:b|c|d)*(.)	ace	(0,3)(2,3)
E	a(?:b|c|d)+?(.)	ace	(0,3)(2,3)
E	SAME	acdbcdbe	(0,3)(2,3)
E	a(?:b|c|d)+(.)	acdbcdbe	(0,8)(7,8)
E	a(?:b|c|d){2}(.)	acdbcdbe	(0,4)(3,4)
E	a(?:b|c|d){4,5}(.)	acdbcdbe	(0,7)(6,7)
E	a(?:b|c|d){4,5}?(.)	acdbcdbe	(0,6)(5,6)
E	((foo)|(bar))*	foobar	(0,6)(3,6)(?,?)(3,6)
E	a(?:b|c|d){6,7}(.)	acdbcdbe	(0,8)(7,8)
E	a(?:b|c|d){6,7}?(.)	acdbcdbe	(0,8)(7,8)
E	a(?:b|c|d){5,6}(.)	acdbcdbe	(0,8)(7,8)
E	a(?:b|c|d){5,6}?(.)	acdbcdbe	(0,7)(6,7)
E	a(?:b|c|d){5,7}(.)	acdbcdbe	(0,8)(7,8)
E	a(?:b|c|d){5,7}?(.)	acdbcdbe	(0,7)(6,7)
E	a(?:b|(c|e){1,2}?|d)+?(.)	ace	(0,3)(1,2)(2,3)
E	^(.+)?B	AB	(0,2)(0,1)
E$	^([^a-z])|(\\^)$	.	(0,1)(0,1)
E	^[<>]&	<&OUT	(0,2)
E$	^(a\\1?){4}$	aaaaaaaaaa	ESUBREG
E$	SAME	AB	ESUBREG
E$	SAME	aaaaaaaaa	ESUBREG
E$	SAME	aaaaaaaaaaa	ESUBREG
E$	^(a(?(1)\\1)){4}$	aaaaaaaaaa	ESUBREG
E$	SAME	aaaaaaaaa	ESUBREG
E$	SAME	aaaaaaaaaaa	ESUBREG
E	((f)(o)(o)|(b)(a)(r))*	foobar	(0,6)(3,6)(?,?)(?,?)(?,?)(3,4)(4,5)(5,6)
E	(?:(f)(o)(o)|(b)(a)(r))*	foobar	(0,6)(?,?)(?,?)(?,?)(3,4)(4,5)(5,6)
E	((f)(u)|(b)(a)(r))*	fubar	(0,5)(2,5)(?,?)(?,?)(2,3)(3,4)(4,5)
E	(?:(f)(u)|(b)(a)(r))*	fubar	(0,5)(?,?)(?,?)(2,3)(3,4)(4,5)
E	(?<=a)b	ab	(1,2)
E	SAME	cb	NOMATCH
E	SAME	b	NOMATCH
E	(?<!c)b	ab	(1,2)
E	SAME	b	(0,1)
E	SAME	b	(0,1)
E	(?:..)*a	aba	(0,3)
E	(?:..)*?a	aba	(0,1)
E$	^(?:b|a(?=(.)))*\\1	abc	(0,2)(1,2)
Ez	^(){3,5}	abc	(0,0)(0,0)
E	^(a+)*ax	aax	(0,3)(0,1)
E	^((a|b)+)*ax	aax	(0,3)(0,1)(0,1)
E	^((a|bc)+)*ax	aax	(0,3)(0,1)(0,1)
E	(a|x)*ab	cab	(1,3)
E	(a)*ab	cab	(1,3)
E	(?:(?i)a)b	ab	(0,2)
E	((?i)a)b	ab	(0,2)(0,1)
E	(?:(?i)a)b	Ab	(0,2)
E	((?i)a)b	Ab	(0,2)(0,1)
E	(?:(?i)a)b	cb	NOMATCH
E	SAME	aB	NOMATCH
E	(?i:a)b	ab	(0,2)
E	((?i:a))b	ab	(0,2)(0,1)
E	(?i:a)b	Ab	(0,2)
E	((?i:a))b	Ab	(0,2)(0,1)
E	(?i:a)b	aB	NOMATCH
E	SAME	aB	NOMATCH
Ei	(?:(?-i)a)b	ab	(0,2)
Ei	((?-i)a)b	ab	(0,2)(0,1)
Ei	(?:(?-i)a)b	aB	(0,2)
Ei	((?-i)a)b	aB	(0,2)(0,1)
Ei	(?:(?-i)a)b	aB	(0,2)
Ei	SAME	Ab	NOMATCH
Ei	(?:(?-i)a)b	aB	(0,2)
Ei	((?-i)a)b	aB	(0,2)(0,1)
Ei	(?:(?-i)a)b	Ab	NOMATCH
Ei	SAME	AB	NOMATCH
Ei	(?-i:a)b	ab	(0,2)
Ei	((?-i:a))b	ab	(0,2)(0,1)
Ei	(?-i:a)b	aB	(0,2)
Ei	((?-i:a))b	aB	(0,2)(0,1)
Ei	(?-i:a)b	AB	NOMATCH
Ei	SAME	Ab	NOMATCH
Ei	(?-i:a)b	aB	(0,2)
Ei	((?-i:a))b	aB	(0,2)(0,1)
Ei	(?-i:a)b	Ab	NOMATCH
Ei	SAME	AB	NOMATCH
Ei	((?-i:a.))b	AB	NOMATCH
Ei$	SAME	a\nB	(0,3)(0,2)
Ei$	((?s-i:a.))b	a\nB	(0,3)(0,2)
E	(?:c|d)(?:)(?:a(?:)(?:b)(?:b(?:))(?:b(?:)(?:b)))	cabbbb	(0,6)
E	(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))	caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb	(0,41)
E$i	(ab)\\d\\1	Ab4ab	(0,5)(0,2)
E$i	SAME	ab4Ab	(0,5)(0,2)
E$	foo\\w*\\d{4}baz	foobar1234baz	(0,13)
E	x(~~)*(?:(?:F)?)?	x~~	(0,3)(1,3)
E	^a{3}(?#xxx)c	aaac	(0,4)
E	^a(?#xxx){3}c	aaac	(0,4)
Ec	^a (?#xxx) (?#yyy) {3} c	aaac	(0,4)
E$	(?<![cd])b	B\nB	NOMATCH
E$	SAME	dbcb	NOMATCH
E	(?<![cd])[ab]	dbaacb	(2,3)
E	(?<!(c|d))[ab]	dbaacb	(2,3)
E	(?<!cd)[ab]	cdaccb	(5,6)
E	^(?:a?b?)*$	dbcb	NOMATCH
E	SAME	a--	NOMATCH
E$	(^a(.))(^b$)		a\nb\nc\n	NOMATCH
E$n	(^a(.))(^b$)		a\nb\nc\n	NOMATCH
E$j	(^a(.))(^b$)		a\nb\nc\n	NOMATCH
E$nj	(^a(.))(^b$)		a\nb\nc\n	(0,3)(0,2)(1,2)(2,3)
E$	(?ms)(^a(.))(^b$)	a\nb\nc\n	(0,3)(0,2)(1,2)(2,3)
E$	(?ms:(^a(.))(^b$))	a\nb\nc\n	(0,3)(0,2)(1,2)(2,3)
E$nj	(?:(^a(.))(^b$))	a\nb\nc\n	(0,3)(0,2)(1,2)(2,3)
E$	(?ms)(?:(^a(.))(^b$))	a\nb\nc\n	(0,3)(0,2)(1,2)(2,3)
E$	((?s)^a(.))((?m)^b$)	a\nb\nc\n	(0,3)(0,2)(1,2)(2,3)
E$	((?m)^b$)	a\nb\nc\n	(2,3)(2,3)
E$	(?m)^b	a\nb\n	(2,3)
E$	(?m)^(b)	a\nb\n	(2,3)(2,3)
E$	((?m)^b)	a\nb\n	(2,3)(2,3)
E$	\\n((?m)^b)	a\nb\n	(1,3)(2,3)
E$	.c		a\nb\nc\n	(3,5)
E$n	.c		a\nb\nc\n	NOMATCH
E$j	.c		a\nb\nc\n	(3,5)
E$nj	.c		a\nb\nc\n	(3,5)
E$	(?:.c)		a\nb\nc\n	(3,5)
E$	(?m:.c)		a\nb\nc\n	NOMATCH
E$	(?s:.c)		a\nb\nc\n	(3,5)
E$	(?ms:.c)	a\nb\nc\n	(3,5)
E$	(?m).c		a\nb\nc\n	NOMATCH
E$	(?s).c		a\nb\nc\n	(3,5)
E$	(?ms).c		a\nb\nc\n	(3,5)
E$	((?s).c)	a\nb\nc\n	(3,5)(3,5)
E$	((?s).)c	a\nb\nc\n	(3,5)(3,4)
E$	.		\n		(0,1)
E$n	.		\n		NOMATCH
E$j	.		\n		(0,1)
E$nj	.		\n		(0,1)
E$	(?=.)		\n		(0,0)
E$n	(?=.)		\n		NOMATCH
E$j	(?=.)		\n		(0,0)
E$nj	(?=.)		\n		(0,0)
E$	(?!.)		\n		(1,1)
E$n	(?!.)		\n		(0,0)
E$j	(?!.)		\n		(1,1)
E$nj	(?!.)		\n		(1,1)
E$	(.)c(?!.)	a\nb\nc\n	NOMATCH
E$	(?:(.)c)(?:(?!.))	a\nb\nc\n	NOMATCH
E$	(?:(.)c)(?m:(?!.))	a\nb\nc\n	(3,5)(3,4)
E$	((?s).)c(?!.)	a\nb\nc\n	NOMATCH
E$	SAME	a\nb\nc\n	NOMATCH
E$	((?s)b.)c(?!.)	a\nb\nc\n	NOMATCH
E$	SAME	a\nb\nc\n	NOMATCH
Ez$	()^b	a\nb\nc\n	NOMATCH
Ez$	SAME	a\nb\nc\n	NOMATCH
Ez$	((?m)^b)	a\nb\nc\n	(2,3)(2,3)
Ez	(?(1)b|a)	a	ESUBREG
E	(x)?(?(1)a|b)	a	NOMATCH
E	SAME	a	NOMATCH
E	(x)?(?(1)b|a)	a	(0,1)
Ez	()?a		a	(0,1)(0,0)
Ez	()?(?(1)a|b)	a	(0,1)(0,0)
Ez	SAME		b	(0,1)
Ez	()?(?(1)b|a)	a	(0,1)
Ez	SAME		b	(0,1)(0,0)
Ez	()?(?(1)b|a)	a	(0,1)
E$	^(<)?blah(>)?$	<blah>	(0,6)(0,1)(5,6)
E$	^(<)?blah(?(1)>)$	<blah>	(0,6)(0,1)
E$	^(<)?blah(?(1)(>))$	<blah>	(0,6)(0,1)(5,6)
E$	SAME	blah	(0,4)
E$	SAME	a	NOMATCH
E$	SAME	blah>	NOMATCH
E$	SAME	<blah	NOMATCH
Ez$	^(<)?blah(?(1)(>)|)$	<blah>	(0,6)(0,1)(5,6)
Ez$	SAME	blah	(0,4)
Ez$	SAME	a	NOMATCH
Ez$	SAME	blah>	NOMATCH
Ez$	SAME	<blah	NOMATCH
E$	^(\\()?blah(?(1)(\\)))$	(blah)	(0,6)(0,1)(5,6)
E$	SAME	blah	(0,4)
E$	SAME	a	NOMATCH
E$	SAME	blah)	NOMATCH
E$	SAME	(blah	NOMATCH
E$	^(\\(+)?blah(?(1)(\\)))$	(blah)	(0,6)(0,1)(5,6)
E$	SAME	blah	(0,4)
E$	SAME	blah)	NOMATCH
E$	SAME	(blah	NOMATCH
E	(?(?!a)b|a)	a	(0,1)
E	(?(?=a)b|a)	a	NOMATCH
E	SAME	a	NOMATCH
E	(?(?=a)a|b)	a	(0,1)
E$	(?=(a+))(\\1ab)		aaab	(0,4)(0,2)(0,4)
Em$	SAME			aaab	(0,4)(0,2)(0,4)
E$	(?=(a+?))(\\1ab)	aaab	(0,4)(0,2)(0,4)
E$	(\\w+:)+	one:	(0,4)(0,4)
E	$(?<=^(a))	a	(1,1)(0,1)
E$	(?=(a+?))(\\1ab)	aaab	(0,4)(0,2)(0,4)
E$	^(?=(a+?))\\1ab	aaab	(0,4)(0,2)
E$	SAME	aaab	(0,4)(0,2)
E$v	([\\w:]+::)?(\\w+)$	abcd	(0,4)(?,?)(0,4)
E$v	SAME	xy:z:::abcd	(0,11)(0,7)(7,11)
E	^[^bcd]*(c+)	aexycd	(0,5)(4,5)
E	(a*)b+	caab	(1,4)(1,3)
E$v	([\\w:]+::)?(\\w+)$	abcd	(0,4)(?,?)(0,4)
E$v	SAME	xy:z:::abcd	(0,11)(0,7)(7,11)
E$v	SAME	abcd:	NOMATCH
E$v	SAME	abcd:	NOMATCH
E	^[^bcd]*(c+)	aexycd	(0,5)(4,5)
E	(?>a+)b	aaab	(0,4)
E	([[:]+)	a:[b]:	ECTYPE
E	([[=]+)	a=[b]=	ECOLLATE
E	([[.]+)	a.[b].	ECOLLATE
E	((?>a+)b)	aaab	(0,4)(0,4)
E	(?>(a+))b	aaab	(0,4)(0,3)
E$	((?>[^()]+)|\\([^()]*\\))+	((abc(ade)ufh()()x	(2,18)(17,18)
E$	a\\Z	aaab	NOMATCH
E$	SAME	a\nb\n	NOMATCH
E$	b\\Z	a\nb\n	(2,3)
E$	b\\Z	a\nb	(2,3)
E$	b\\z	a\nb	(2,3)
E$v	^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$	a	ESUBREG
E$v	SAME	abc	ESUBREG
E$v	SAME	a-b	ESUBREG
E$v	SAME	0-9	ESUBREG
E$v	SAME	a.b	ESUBREG
E$v	SAME	5.6.7	ESUBREG
E$v	SAME	the.quick.brown.fox	ESUBREG
E$v	SAME	a100.b200.300c	ESUBREG
E$v	SAME	12-ab.1245	ESUBREG
E$v	SAME	NULL	ESUBREG
E$v	SAME	.a	ESUBREG
E$v	SAME	-a	ESUBREG
E$v	SAME	a-	ESUBREG
E$v	SAME	a.	ESUBREG
E$v	SAME	a_b	ESUBREG
E$v	SAME	a.-	ESUBREG
E$v	SAME	a..	ESUBREG
E$v	SAME	ab..bc	ESUBREG
E$v	SAME	the.quick.brown.fox-	ESUBREG
E$v	SAME	the.quick.brown.fox.	ESUBREG
E$v	SAME	the.quick.brown.fox_	ESUBREG
E$v	SAME	the.quick.brown.fox+	ESUBREG
E	(?>.*)(?<=(abcd|wxyz))	alphabetabcd	(0,12)(8,12)
E	SAME	endingwxyz	(0,10)(6,10)
E	SAME	a rather long string that doesn't end with one of them	NOMATCH
E	word (?>(?:(?!otherword)[a-zA-Z0-9]+ ){0,30})otherword	word cat dog elephant mussel cow horse canary baboon snake shark otherword	(0,74)
E	SAME	word cat dog elephant mussel cow horse canary baboon snake shark	NOMATCH
E	word (?>[a-zA-Z0-9]+ ){0,30}otherword	word cat dog elephant mussel cow horse canary baboon snake shark the quick brown fox and the lazy dog and several other words getting close to thirty by now I hope	NOMATCH
E$	(?<=\\d{3}(?!999))foo	999foo	(3,6)
E$	SAME	123999foo	(6,9)
E$	SAME	123abcfoo	NOMATCH
E$	(?<=(?!...999)\\d{3})foo	999foo	(3,6)
E$	SAME	123999foo	(6,9)
E$	SAME	123abcfoo	NOMATCH
E$	(?<=\\d{3}(?!999)...)foo	123abcfoo	(6,9)
E$	SAME	123456foo	(6,9)
E$	SAME	123999foo	NOMATCH
E$	(?<=\\d{3}...)(?<!999)foo	123abcfoo	(6,9)
E$	SAME	123456foo	(6,9)
E$	SAME	123999foo	NOMATCH
Ei	<a +href *= *(["'])?		<a href=abcd xyz	(0,8)
Ei	=(")?(?(1)(.*)"|([^ ]+))	=abcd xyz	(0,5)(?,?)(?,?)(1,5)
Ei	=(")?(?(1)(.*)\1|([^ ]+))	="abcd" xyz	(0,7)(1,2)(2,6)
Ei	<a +href *= *((["'])(.*?)\2|[^ ]+)	<a href=abcd xyz	(0,12)(8,12)
Ei	<a +href *= *((["'])(.*?)\2|[^ ]+)	<a href="abcd" xyz	(0,14)(8,14)(8,9)(9,13)
Ei	<a +href *= *(["'])?(?(1)(.*?)\1|([^ ]+))	<a href=abcd xyz	(0,12)(?,?)(?,?)(8,12)
Ei	<a +href *= *(["'])?(?(1)(.*?)\1|([^ ]+))	<a href='abcd' xyz	(0,14)(8,9)(9,13)
Eiv	<a[\s]+href[\s]*=[\s]*(["'])?(?(1)(.*?)\1|([^\s]+))	<a href=abcd xyz	(0,12)(?,?)(?,?)(8,12)
E$ijcv	<a[\\s]+href[\\s]*=[\\s]*       # find <a href=\n (["\\'])?                              # find single or double quote\n (?(1) (.*?)\\1 | ([^\\s]+))            # if quote found, match up to\n                                        # next matching quote,\n                                        # otherwise match up to next\n                                        # space\n	<a href=abcd xyz	(0,12)(?,?)(?,?)(8,12)
E$ijcv	SAME	<a href="abcd xyz pqr" cats	(0,22)(8,9)(9,21)
E$ijcv	SAME	<a href='abcd xyz pqr' cats	(0,22)(8,9)(9,21)
E$ijc	<a\\s+href\\s*=\\s* # find <a href=\n (["'])?                    # find single or double quote\n (?(1) (.*?)\\1 | (\\S+))   # if quote found, match to next matching\n                            # quote, otherwise match up to next space\n	<a href=abcd xyz	(0,12)(?,?)(?,?)(8,12)
E$ijc	SAME	<a href="abcd xyz pqr" cats	(0,22)(8,9)(9,21)
E$ijc	SAME	<a href       =       'abcd xyz pqr' cats	(0,36)(22,23)(23,35)
E$ijc	<a\\s+href(?>\\s*)=(?>\\s*)        # find <a href=\n (["'])?                         # find single or double quote\n (?(1) (.*?)\\1 | (\\S+))          # if quote found, match up to next matching\n                                 # quote, otherwise match up to next space\n	<a href=abcd xyz	(0,12)(?,?)(?,?)(8,12)
E$ijc	SAME	<a href="abcd xyz pqr" cats	(0,22)(8,9)(9,21)
E$ijc	SAME	<a href       =       'abcd xyz pqr' cats	(0,36)(22,23)(23,35)
E	((Z)+|A)*	ZABCDEFG	(0,2)(1,2)
E	(Z()|A)*	ZABCDEFG	ENULL
Ez	(Z()|A)*	ZABCDEFG	(0,2)(1,2)
E	(Z(())|A)*	ZABCDEFG	ENULL
Ez	(Z(())|A)*	ZABCDEFG	(0,2)(1,2)
E	((?>Z)+|A)*	ZABCDEFG	(0,2)(1,2)
E	((?>)+|A)*	ZABCDEFG	(0,0)(0,0)
E	a*	abbab	(0,1)
E$v	^[a-\\d]*	abcde	ERANGE
E$v	^[a-\\d]	abcde	ERANGE
E$v	SAME	-things	ERANGE
E$v	SAME	0digit	ERANGE
E$v	SAME	bcdef	ERANGE
E$v	^[\\d-a]	abcde	ERANGE
E$v	SAME	-things	ERANGE
E$v	SAME	0digit	ERANGE
E$v	SAME	bcdef	ERANGE