#1 abc abc YES 1 abc #2 abc xbc NO #3 abc axc NO #4 abc abx NO #5 abc xabcy YES 1 abc #6 abc ababc YES 1 abc #7 ab*c abc YES 1 abc #8 ab*bc abc YES 1 abc #9 ab*bc abbc YES 1 abbc #10 ab*bc abbbbc YES 1 abbbbc #11 ab+bc abbc YES 1 abbc #12 ab+bc abc NO #13 ab+bc abq NO #14 ab+bc abbbbc YES 1 abbbbc #15 ab?bc abbc YES 1 abbc #16 ab?bc abc YES 1 abc #17 ab?bc abbbbc NO #18 ab?c abc YES 1 abc #19 a.c abc YES 1 abc #20 a.c axc YES 1 axc #21 a.*c axyzc YES 1 axyzc #22 a.*c axyzd NO #23 a[bc]d abc NO #24 a[bc]d abd YES 1 abd #25 a[b-d]e abd NO #26 a[b-d]e ace YES 1 ace #27 a[b-d] aac YES 1 ac #28 a[b-a] ERR #29 a[-b] aa YES 1 aa #30 a[b-] ac YES 1 ac #31 a[]b ERR #32 a[ ERR #33 a] ERR #34 a[]] ERR #35 a[^bc]d aed YES 1 aed #36 a[^bc] abd NO #37 ab|cd abc YES 1 ab #38 ab|cd abcd YES 1 ab #39 ab|cd bcda YES 1 cd #40 a[]b ERR #41 ()ef ef YES 2 ef #42 ()* ERR #43 *a ERR #44 (*)b ERR #45 a\ ERR #46 a\(b a(b YES 1 a(b #47 a\(*b ab YES 1 ab #48 a\(*b a((b YES 1 a((b #49 a\\b a\b YES 1 a\b #50 abc) ERR #51 (abc ERR #52 ((a)) abc YES 3 a a a #53 (a)b(c) abc YES 3 abc a c #54 a+b+c aabbabc YES 1 abc #55 a** ERR #56 a++ ERR #57 a* aaaa YES 1 aaaa #58 a* baaaa YES 1 #59 (a*)* ERR #60 (a*)+ ERR #61 (a|)* ERR #62 (ab|cd)e abcde YES 2 cde cd #63 [abhgefdc]ij hij YES 1 hij #64 ab* xabyabbbz YES 1 ab #65 ab* xayabbbz YES 1 a #66 abcd*efg abcdefg YES 1 abcdefg #67 (ab|ab*)bc abc YES 2 abc a #68 (a|b|c|d|e)f ef YES 2 ef e #69 a|b|c|d|e e YES 1 e #70 (.*)c(.*) abcde YES 3 abcde ab de #71 \((.*), (.*)\) (a, b) YES 3 (a, b) a b #72 a(bc)d abcd YES 2 abcd bc #73 a* x YES 1 #74 ([abc])*d abbbcd YES 2 abbbcd c #75 a* YES 1 #76 ([abc])*bcd abcd YES 2 abcd a #77 (a|b)c*d abcd YES 2 bcd b #78 a([bc]*)c* abc YES 2 abc bc #79 [a-zA-Z_][a-zA-Z0-9_]* alpha YES 1 alpha #80 ((a)(b)c)(d) abcd YES 5 abcd abc a b d #81 (ab|a)b*c abc YES 2 abc ab #82 a[bcd]+dcdcde adcdcde NO #83 ((((((((((a))))))))) ERR #84 (((((((((a))))))))) a YES 10 a a a a a a a a a a #85 [k] ab NO #86 abcd abcd YES 1 abcd #87 a[-]?c abc YES 1 abc #88 multiple words of text uh-uh NO #89 multiple words multiple words, yeah YES 1 multiple words #90 a[bcd]*dcdcde adcdcde YES 1 adcdcde #91 a([bc]*)(c*d) abcd YES 3 abcd bc d #92 a([bc]+)(c*d) abcd YES 3 abcd bc d #93 a([bc]*)(c+d) abcd YES 3 abcd b cd #94 abc NO #95 ^* ERR #96 $* ERR #97 ^abc$ abc YES 1 abc #98 ^abc$ abcc NO #99 ^abc abcc YES 1 abc #100 ^abc$ aabc NO #101 abc$ aabc YES 1 abc #102 ^ abc YES 1 #103 $ abc YES 1 #104 $b b NO #105 (a+|b)* ab YES 2 ab b #106 (a+|b)+ ab YES 2 ab b #107 (a+|b)? ab YES 2 a a #108 (^* ERR #109 )( ERR #110 [^ab]* cde YES 1 cde #111 ^(ab|cd)e abcde NO #112 ^a(bc+|b[eh])g|.h$ abh YES 1 bh #113 (bc+d$|ef*g.|h?i(j|k)) effgz YES 2 effgz effgz #114 (bc+d$|ef*g.|h?i(j|k)) ij YES 3 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 2 effgz effgz #118 a*b\s+c aaaab c YES 1 aaaab c #119 a*b\s+c aaaabfc NO #120 a*(b*c*) aabbcc YES 2 aabbcc bbcc #121 a?b+c* b YES 1 b #122 \d+ 99 YES 1 99 #123 ^[:javastart:]+[:javapart:]+$ javaIdentifier0 YES 1 javaIdentifier0 #124 ^[:javastart:]+[:javapart:]+$ ?javaIdentifier NO #125 [a-e]?d\\e yyzabecd\eyyz YES 1 cd\e #126 ((\w+)/)*(\w+) foo/bar/baz YES 4 foo/bar/baz bar/ bar baz #127 i am a green (giant|man|martian) i am a green man YES 2 i am a green man man #128 ([a-c]+?)c abcabcabc YES 2 abc ab #129 ([ab]*?)b aaaaabaaaababab YES 2 aaaaab aaaaa #130 ([ab]*)b aaaaabaaaababab YES 2 aaaaabaaaababab aaaaabaaaababa #131 ([ab]??)b bb YES 2 b #132 (c[ab]?)b cbb YES 2 cbb cb #133 (c[ab]??)b cbb YES 2 cb c #134 (c[ab]*?)b cbb YES 2 cb c #135 [:digit:]+ 789 YES 1 789 #136 [:digit:]+ abc NO #137 [:xdigit:]+ ffe5a YES 1 ffe5a #138 [:wacky:]+ ERR #139 (wee|week)(knights|knight) weeknights YES 3 weeknights wee knights #140 (ac*)c*d[ac]*\1 acdacaa YES 2 acdac ac #141 (a.*b)(a.*b) accbaccccb YES 3 accbaccccb accb accccb #142 (.)=\1 x=x YES 2 x=x x #143 ([ab])=\1 a=a YES 2 a=a a #144 ([ab]+)=\1 abba=abba YES 2 abba=abba abba #145 \u004a J YES 1 J #146 \x4a J YES 1 J #147 \[([:javastart:][:javapart:]*)\] foo[bar]baz YES 2 [bar] bar #148 (\s*\w+)? aa YES 2 aa aa #149 (?:a) a YES 1 a #150 (?:a) aa YES 1 a #151 (?:\w) abc YES 1 a #152 (?:\w\s\w)+ a b c YES 1 a b #153 (a\w)(?:,(a\w))+ ab,ac,ad YES 3 ab,ac,ad ab ad #154 z(\w\s+(?:\w\s+\w)+)z za b bc cd dz YES 2 za b bc cd dz a b bc cd d #155 (([hH][tT]{2}[pP]|[fF][tT][pP]):\/\/)?[a-zA-Z0-9\-]+(\.[a-zA-Z0-9\-]+)* http://www.test.com YES 4 http://www.test.com http:// http .com #156 ((?:[hH][tT]{2}[pP]|[fF][tT][pP]):\/\/)?[a-zA-Z0-9\-]+(\.[a-zA-Z0-9\-]+)* ftp://www.test.com YES 3 ftp://www.test.com ftp:// .com #157 (([hH][tT]{2}[pP]|[fF][tT][pP]):\/\/)?[a-zA-Z0-9\-]+(?:\.[a-zA-Z0-9\-]+)* htTp://www.test.com YES 3 htTp://www.test.com htTp:// htTp #158 (?:([hH][tT]{2}[pP]|[fF][tT][pP]):\/\/)?[a-zA-Z0-9\-]+(\.[a-zA-Z0-9\-]+)* FTP://www.test.com YES 3 FTP://www.test.com FTP .com #159 ^(?:([hH][tT]{2}[pP]|[fF][tT][pP]):\/\/)?[a-zA-Z0-9\-]+(\.[a-zA-Z0-9\-]+)*$ http://.www.test.com NO #160 ^(?:(?:[hH][tT]{2}[pP]|[fF][tT][pP]):\/\/)?[a-zA-Z0-9\-]+(?:\.[a-zA-Z0-9\-]+)*$ FtP://www.test.com YES 1 FtP://www.test.com #161 ^(?:(?:[hH][tT]{2}[pP]|[fF][tT][pP]):\/\/)?[a-zA-Z0-9\-]+(?:\.[a-zA-Z0-9\-]+)*$ FtTP://www.test.com NO #162 ^(?:(?:[hH][tT]{2}[pP]|[fF][tT][pP]):\/\/)?[a-zA-Z0-9\-]+(?:\.[a-zA-Z0-9\-]+)*$ www.test.com YES 1 www.test.com #163 abc.*?x+yz abcaaaaaxyzbbbbxyz YES 1 abcaaaaaxyz #164 abc.+?x+yz abcaaaaaxyzbbbbxyz YES 1 abcaaaaaxyz #165 a.+?(c|d) aaaacaaaaad YES 2 aaaac c #166 a.+(c|d) aaaacaaaaad YES 2 aaaacaaaaad d #167 a+?b+?c+? aaabccaaabbbccc YES 1 aaabc #168 a(.+)b(.+)c(.+)d(.+)e(.+)f(.+)g(.+)h(.+)i(.+)j(.+)k(.+)l(.+)m(.+)n(.+)o(.+)p(.+)q(.+)r a01b02c03d04e05f06g07h08i09j10k11l12m13n14o15p16q17r YES 18 a01b02c03d04e05f06g07h08i09j10k11l12m13n14o15p16q17r 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 #169 \bfly\b flying NO #170 \bfly\b housefly NO #171 [^ac]+ bd YES 1 bd #172 [^ca]+ bd YES 1 bd #173 [^ac]+ acb YES 1 b #174 [a-z]{0,3} 123abcdefg123 YES 1 #175 ab{0,1}a aa YES 1 aa #176 ab{0,1}a aba YES 1 aba #177 ab{0,1}a abba NO #178 ab{0,2}a aa YES 1 aa #179 ab{0,2}a aba YES 1 aba #180 ab{0,2}a abba YES 1 abba #181 ab{0,2}a abbba NO #182 ab{1,1}a aa NO #183 ab{1,1}a aba YES 1 aba #184 ab{1,1}a abba NO #185 ab{1,2}a aa NO #186 ab{1,2}a aba YES 1 aba #187 ab{1,2}a abba YES 1 abba #188 ab{1,2}a abbba NO #189 ab{0,}a aa YES 1 aa #190 ab{0,}a aba YES 1 aba #191 ab{0,}a abba YES 1 abba #192 ab{1,}a aa NO #193 ab{1,}a aba YES 1 aba #194 ab{1,}a abba YES 1 abba #195 ab{1}a aa NO #196 ab{1}a aba YES 1 aba #197 ab{1}a abba NO #198 ab{0}a aa YES 1 aa #199 ab{0}a aba NO #200 ab{2}a aa NO #201 ab{2}a aba NO #202 ab{2}a abba YES 1 abba #203 ab{2}a abbba NO #204 [ \-] - YES 1 - #205 [a-z0-9\.\-]+ {regexp-1.2} YES 1 regexp-1.2 #206 [a-z0-9\-\.]+ {regexp-1.2} YES 1 regexp-1.2 #207 [a-z\-0-9\.]+ {regexp-1.2} YES 1 regexp-1.2 #208 \w+ a_b YES 1 a_b #209 ([0123])??((((1st)|(2nd))|(3rd))|(\dth)) 1st YES 6 1st null 1st 1st 1st 1st #210 [^\s\]'<>(),;:\.\[] - YES 1 - #211 ^\(?(\d{3})\)?[\- ]?(\d{3})[\- ]?(\d{4})$ (425) 576+1202 NO #212 [^\s\(\)<>@,;:\\\"\.\[\]] - YES 1 - #213 a{0,1}b{0,1}c{0,1}d{0,1}e{0,1}f{0,1}g{0,1}h{0,1}i{0,1}j{0,1}k{0,1}l{0,1} acghij YES 1 acghij #214 [^02468ACEGIKMOQSUW] 012 YES 1 1 #215 [^02468ACEGIKMOQSUW] UVW YES 1 V #216 UUID=(\w{8}\.){3}\w{8} UUID=3babc217.0007d4e1.74726163.006e616d YES 4 UUID=3babc217.0007d4e1.74726163.006e616d 3babc217. 0007d4e1. 74726163. #217 ^\d{4}(-\d{2}){2}$ 2004-01-01 YES 3 2004-01-01 -01 -01 #218 [\W] a NO #219 [\W] 1 NO #220 [\W] ! YES 1 ! #221 [^\W] a YES 1 a #222 [^\W] _ YES 1 _ #223 [\D\S]+ @0 1 _1AByz YES 1 @0 1 _1AByz #224 [^\D\S] @0 1 _1AByz NO