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