#1 abc abc YES abc #2 abc xbc NO #3 abc axc NO #4 abc abx NO #5 abc xabcy YES abc #6 abc ababc YES abc #7 ab*c abc YES abc #8 ab*bc abc YES abc #9 ab*bc abbc YES abbc #10 ab*bc abbbbc YES abbbbc #11 ab+bc abbc YES abbc #12 ab+bc abc NO #13 ab+bc abq NO #14 ab+bc abbbbc YES abbbbc #15 ab?bc abbc YES abbc #16 ab?bc abc YES abc #17 ab?bc abbbbc NO #18 ab?c abc YES abc #19 a.c abc YES abc #20 a.c axc YES axc #21 a.*c axyzc YES axyzc #22 a.*c axyzd NO #23 a[bc]d abc NO #24 a[bc]d abd YES abd #25 a[b-d]e abd NO #26 a[b-d]e ace YES ace #27 a[b-d] aac YES ac #28 a[b-a] ERR #29 a[-b] aa YES aa #30 a[b-] ac YES ac #31 a[]b ERR #32 a[ ERR #33 a] ERR #34 a[]] ERR #35 a[^bc]d aed YES aed #36 a[^bc] abd NO #37 ab|cd abc YES ab #38 ab|cd abcd YES ab #39 ab|cd bcda YES cd #40 a[]b ERR #41 ()ef ef YES ef #42 ()* ERR #43 *a ERR #44 (*)b ERR #45 a\ ERR #46 a\(b a(b YES a(b #47 a\(*b ab YES ab #48 a\(*b a((b YES a((b #49 a\\b a\b YES a\b #50 abc) ERR #51 (abc ERR #52 ((a)) abc YES a a a #53 (a)b(c) abc YES abc a c #54 a+b+c aabbabc YES abc #55 a** ERR #56 a++ ERR #57 a* aaaa YES aaaa #58 a* baaaa YES #59 (a*)* ERR #60 (a*)+ ERR #61 (a|)* ERR #62 (ab|cd)e abcde YES cde cd #63 [abhgefdc]ij hij YES hij #64 ab* xabyabbbz YES ab #65 ab* xayabbbz YES a #66 abcd*efg abcdefg YES abcdefg #67 (ab|ab*)bc abc YES abc a #68 (a|b|c|d|e)f ef YES ef e #69 a|b|c|d|e e YES e #70 (.*)c(.*) abcde YES abcde ab de #71 \((.*), (.*)\) (a, b) YES (a, b) a b #72 a(bc)d abcd YES abcd bc #73 a* x YES #74 ([abc])*d abbbcd YES abbbcd c #75 a* YES #76 ([abc])*bcd abcd YES abcd a #77 (a|b)c*d abcd YES bcd b #78 a([bc]*)c* abc YES abc bc #79 [a-zA-Z_][a-zA-Z0-9_]* alpha YES alpha #80 ((a)(b)c)(d) abcd YES abcd abc a b d #81 (ab|a)b*c abc YES abc ab #82 a[bcd]+dcdcde adcdcde NO #83 ((((((((((a))))))))) ERR #84 (((((((((a))))))))) a YES a a a a a a a a a a #85 [k] ab NO #86 abcd abcd YES abcd #87 a[-]?c abc YES abc #88 multiple words of text uh-uh NO #89 multiple words multiple words, yeah YES multiple words #90 a[bcd]*dcdcde adcdcde YES adcdcde #91 a([bc]*)(c*d) abcd YES abcd bc d #92 a([bc]+)(c*d) abcd YES abcd bc d #93 a([bc]*)(c+d) abcd YES abcd b cd #94 abc NO #95 ^* ERR #96 $* ERR #97 ^abc$ abc YES abc #98 ^abc$ abcc NO #99 ^abc abcc YES abc #100 ^abc$ aabc NO #101 abc$ aabc YES abc #102 ^ abc YES #103 $ abc YES #104 $b b NO #105 (a+|b)* ab YES ab b #106 (a+|b)+ ab YES ab b #107 (a+|b)? ab YES a a #108 (^* ERR #109 )( ERR #110 [^ab]* cde YES cde #111 ^(ab|cd)e abcde NO #112 ^a(bc+|b[eh])g|.h$ abh YES bh #113 (bc+d$|ef*g.|h?i(j|k)) effgz YES effgz effgz #114 (bc+d$|ef*g.|h?i(j|k)) ij YES ij ij j #115 (bc+d$|ef*g.|h?i(j|k)) effg NO #116 (bc+d$|ef*g.|h?i(j|k)) bcdd NO #117 (bc+d$|ef*g.|h?i(j|k)) reffgz YES effgz effgz #118 a*b\s+c aaaab c YES aaaab c #119 a*b\s+c aaaabfc NO #120 a*(b*c*) aabbcc YES aabbcc bbcc #121 a?b+c* b YES b #122 \d+ 99 YES 99 #123 ^[:javastart:]+[:javapart:]+$ javaIdentifier0 YES javaIdentifier0 #124 ^[:javastart:]+[:javapart:]+$ ?javaIdentifier NO #125 [a-e]?d\\e yyzabecd\eyyz YES cd\e #126 ((\w+)/)*(\w+) foo/bar/baz YES foo/bar/baz bar/ bar baz #127 i am a green (giant|man|martian) i am a green man YES i am a green man man #128 ([a-c]+?)c abcabcabc YES abc ab #129 ([ab]*?)b aaaaabaaaababab YES aaaaab aaaaa #130 ([ab]*)b aaaaabaaaababab YES aaaaabaaaababab aaaaabaaaababa #131 ([ab]??)b bb YES b #132 (c[ab]?)b cbb YES cbb cb #133 (c[ab]??)b cbb YES cb c #134 (c[ab]*?)b cbb YES cb c #135 [:digit:]+ 789 YES 789 #136 [:digit:]+ abc NO #137 [:xdigit:]+ ffe5a YES ffe5a #138 [:wacky:]+ ERR #139 (wee|week)(knights|knight) weeknights YES weeknights wee knights #140 (ac*)c*d[ac]*\1 acdacaa YES acdac ac #141 (a.*b)(a.*b) accbaccccb YES accbaccccb accb accccb #142 (.)=\1 x=x YES x=x x #143 ([ab])=\1 a=a YES a=a a #144 ([ab]+)=\1 abba=abba YES abba=abba abba #145 \u004a J YES J #146 \x4a J YES J #147 \[([:javastart:][:javapart:]*)\] foo[bar]baz YES [bar] bar #148 (\s*\w+)? aa YES aa aa