1*11be35a1SLionel SambucNOTE all standard compliant implementations should pass these : 2002-05-31 2*11be35a1SLionel Sambuc 3*11be35a1SLionel SambucBE abracadabra$ abracadabracadabra (7,18) 4*11be35a1SLionel SambucBE a...b abababbb (2,7) 5*11be35a1SLionel SambucBE XXXXXX ..XXXXXX (2,8) 6*11be35a1SLionel SambucE \) () (1,2) 7*11be35a1SLionel SambucBE a] a]a (0,2) 8*11be35a1SLionel SambucB } } (0,1) 9*11be35a1SLionel SambucE \} } (0,1) 10*11be35a1SLionel SambucBE \] ] (0,1) 11*11be35a1SLionel SambucB ] ] (0,1) 12*11be35a1SLionel SambucE ] ] (0,1) 13*11be35a1SLionel SambucB { { (0,1) 14*11be35a1SLionel SambucB } } (0,1) 15*11be35a1SLionel SambucBE ^a ax (0,1) 16*11be35a1SLionel SambucBE \^a a^a (1,3) 17*11be35a1SLionel SambucBE a\^ a^ (0,2) 18*11be35a1SLionel SambucBE a$ aa (1,2) 19*11be35a1SLionel SambucBE a\$ a$ (0,2) 20*11be35a1SLionel SambucBE ^$ NULL (0,0) 21*11be35a1SLionel SambucE $^ NULL (0,0) 22*11be35a1SLionel SambucE a($) aa (1,2)(2,2) 23*11be35a1SLionel SambucE a*(^a) aa (0,1)(0,1) 24*11be35a1SLionel SambucE (..)*(...)* a (0,0) 25*11be35a1SLionel SambucE (..)*(...)* abcd (0,4)(2,4) 26*11be35a1SLionel SambucE (ab|a)(bc|c) abc (0,3)(0,2)(2,3) 27*11be35a1SLionel SambucE (ab)c|abc abc (0,3)(0,2) 28*11be35a1SLionel SambucE a{0}b ab (1,2) 29*11be35a1SLionel SambucE (a*)(b?)(b+)b{3} aaabbbbbbb (0,10)(0,3)(3,4)(4,7) 30*11be35a1SLionel SambucE (a*)(b{0,1})(b{1,})b{3} aaabbbbbbb (0,10)(0,3)(3,4)(4,7) 31*11be35a1SLionel SambucE a{9876543210} NULL BADBR 32*11be35a1SLionel SambucE ((a|a)|a) a (0,1)(0,1)(0,1) 33*11be35a1SLionel SambucE (a*)(a|aa) aaaa (0,4)(0,3)(3,4) 34*11be35a1SLionel SambucE a*(a.|aa) aaaa (0,4)(2,4) 35*11be35a1SLionel SambucE a(b)|c(d)|a(e)f aef (0,3)(?,?)(?,?)(1,2) 36*11be35a1SLionel SambucE (a|b)?.* b (0,1)(0,1) 37*11be35a1SLionel SambucE (a|b)c|a(b|c) ac (0,2)(0,1) 38*11be35a1SLionel SambucE (a|b)c|a(b|c) ab (0,2)(?,?)(1,2) 39*11be35a1SLionel SambucE (a|b)*c|(a|ab)*c abc (0,3)(1,2) 40*11be35a1SLionel SambucE (a|b)*c|(a|ab)*c xc (1,2) 41*11be35a1SLionel SambucE (.a|.b).*|.*(.a|.b) xa (0,2)(0,2) 42*11be35a1SLionel SambucE a?(ab|ba)ab abab (0,4)(0,2) 43*11be35a1SLionel SambucE a?(ac{0}b|ba)ab abab (0,4)(0,2) 44*11be35a1SLionel SambucE ab|abab abbabab (0,2) 45*11be35a1SLionel SambucE aba|bab|bba baaabbbaba (5,8) 46*11be35a1SLionel SambucE aba|bab baaabbbaba (6,9) 47*11be35a1SLionel SambucE (aa|aaa)*|(a|aaaaa) aa (0,2)(0,2) 48*11be35a1SLionel SambucE (a.|.a.)*|(a|.a...) aa (0,2)(0,2) 49*11be35a1SLionel SambucE ab|a xabc (1,3) 50*11be35a1SLionel SambucE ab|a xxabc (2,4) 51*11be35a1SLionel SambucEi (Ab|cD)* aBcD (0,4)(2,4) 52*11be35a1SLionel SambucBE [^-] --a (2,3) 53*11be35a1SLionel SambucBE [a-]* --a (0,3) 54*11be35a1SLionel SambucBE [a-m-]* --amoma-- (0,4) 55*11be35a1SLionel SambucE :::1:::0:|:::1:1:0: :::0:::1:::1:::0: (8,17) 56*11be35a1SLionel SambucE :::1:::0:|:::1:1:1: :::0:::1:::1:::0: (8,17) 57*11be35a1SLionel Sambuc{E [[:upper:]] A (0,1) [[<element>]] not supported 58*11be35a1SLionel SambucE [[:lower:]]+ `az{ (1,3) 59*11be35a1SLionel SambucE [[:upper:]]+ @AZ[ (1,3) 60*11be35a1SLionel SambucBE [[-]] [[-]] (2,4) 61*11be35a1SLionel SambucBE [[.NIL.]] NULL ECOLLATE 62*11be35a1SLionel SambucBE [[=aleph=]] NULL ECOLLATE 63*11be35a1SLionel Sambuc} 64*11be35a1SLionel SambucBE$ \n \n (0,1) 65*11be35a1SLionel SambucBEn$ \n \n (0,1) 66*11be35a1SLionel SambucBE$ [^a] \n (0,1) 67*11be35a1SLionel SambucBE$ \na \na (0,2) 68*11be35a1SLionel SambucE (a)(b)(c) abc (0,3)(0,1)(1,2)(2,3) 69*11be35a1SLionel SambucBE xxx xxx (0,3) 70*11be35a1SLionel SambucE1 (^|[ (,;])((([Ff]eb[^ ]* *|0*2/|\* */?)0*[6-7]))([^0-9]|$) feb 6, (0,6) 71*11be35a1SLionel SambucE1 (^|[ (,;])((([Ff]eb[^ ]* *|0*2/|\* */?)0*[6-7]))([^0-9]|$) 2/7 (0,3) 72*11be35a1SLionel SambucE1 (^|[ (,;])((([Ff]eb[^ ]* *|0*2/|\* */?)0*[6-7]))([^0-9]|$) feb 1,Feb 6 (5,11) 73*11be35a1SLionel SambucE3 ((((((((((((((((((((((((((((((x)))))))))))))))))))))))))))))) x (0,1)(0,1)(0,1) 74*11be35a1SLionel SambucE3 ((((((((((((((((((((((((((((((x))))))))))))))))))))))))))))))* xx (0,2)(1,2)(1,2) 75*11be35a1SLionel SambucE a?(ab|ba)* ababababababababababababababababababababababababababababababababababababababababa (0,81)(79,81) 76*11be35a1SLionel SambucE abaa|abbaa|abbbaa|abbbbaa ababbabbbabbbabbbbabbbbaa (18,25) 77*11be35a1SLionel SambucE abaa|abbaa|abbbaa|abbbbaa ababbabbbabbbabbbbabaa (18,22) 78*11be35a1SLionel SambucE aaac|aabc|abac|abbc|baac|babc|bbac|bbbc baaabbbabac (7,11) 79*11be35a1SLionel SambucBE$ .* \x01\xff (0,2) 80*11be35a1SLionel SambucE aaaa|bbbb|cccc|ddddd|eeeeee|fffffff|gggg|hhhh|iiiii|jjjjj|kkkkk|llll XaaaXbbbXcccXdddXeeeXfffXgggXhhhXiiiXjjjXkkkXlllXcbaXaaaa (53,57) 81*11be35a1SLionel SambucL aaaa\nbbbb\ncccc\nddddd\neeeeee\nfffffff\ngggg\nhhhh\niiiii\njjjjj\nkkkkk\nllll XaaaXbbbXcccXdddXeeeXfffXgggXhhhXiiiXjjjXkkkXlllXcbaXaaaa NOMATCH 82*11be35a1SLionel SambucE a*a*a*a*a*b aaaaaaaaab (0,10) 83*11be35a1SLionel SambucBE ^ NULL (0,0) 84*11be35a1SLionel SambucBE $ NULL (0,0) 85*11be35a1SLionel SambucBE ^$ NULL (0,0) 86*11be35a1SLionel SambucBE ^a$ a (0,1) 87*11be35a1SLionel SambucBE abc abc (0,3) 88*11be35a1SLionel SambucBE abc xabcy (1,4) 89*11be35a1SLionel SambucBE abc ababc (2,5) 90*11be35a1SLionel SambucBE ab*c abc (0,3) 91*11be35a1SLionel SambucBE ab*bc abc (0,3) 92*11be35a1SLionel SambucBE ab*bc abbc (0,4) 93*11be35a1SLionel SambucBE ab*bc abbbbc (0,6) 94*11be35a1SLionel SambucE ab+bc abbc (0,4) 95*11be35a1SLionel SambucE ab+bc abbbbc (0,6) 96*11be35a1SLionel SambucE ab?bc abbc (0,4) 97*11be35a1SLionel SambucE ab?bc abc (0,3) 98*11be35a1SLionel SambucE ab?c abc (0,3) 99*11be35a1SLionel SambucBE ^abc$ abc (0,3) 100*11be35a1SLionel SambucBE ^abc abcc (0,3) 101*11be35a1SLionel SambucBE abc$ aabc (1,4) 102*11be35a1SLionel SambucBE ^ abc (0,0) 103*11be35a1SLionel SambucBE $ abc (3,3) 104*11be35a1SLionel SambucBE a.c abc (0,3) 105*11be35a1SLionel SambucBE a.c axc (0,3) 106*11be35a1SLionel SambucBE a.*c axyzc (0,5) 107*11be35a1SLionel SambucBE a[bc]d abd (0,3) 108*11be35a1SLionel SambucBE a[b-d]e ace (0,3) 109*11be35a1SLionel SambucBE a[b-d] aac (1,3) 110*11be35a1SLionel SambucBE a[-b] a- (0,2) 111*11be35a1SLionel SambucBE a[b-] a- (0,2) 112*11be35a1SLionel SambucBE a] a] (0,2) 113*11be35a1SLionel SambucBE a[]]b a]b (0,3) 114*11be35a1SLionel SambucBE a[^bc]d aed (0,3) 115*11be35a1SLionel SambucBE a[^-b]c adc (0,3) 116*11be35a1SLionel SambucBE a[^]b]c adc (0,3) 117*11be35a1SLionel SambucE ab|cd abc (0,2) 118*11be35a1SLionel SambucE ab|cd abcd (0,2) 119*11be35a1SLionel SambucE a\(b a(b (0,3) 120*11be35a1SLionel SambucE a\(*b ab (0,2) 121*11be35a1SLionel SambucE a\(*b a((b (0,4) 122*11be35a1SLionel SambucE ((a)) abc (0,1)(0,1)(0,1) 123*11be35a1SLionel SambucE (a)b(c) abc (0,3)(0,1)(2,3) 124*11be35a1SLionel SambucE a+b+c aabbabc (4,7) 125*11be35a1SLionel SambucE a* aaa (0,3) 126*11be35a1SLionel SambucE (a*)* - (0,0)(0,0) 127*11be35a1SLionel SambucE (a*)+ - (0,0)(0,0) 128*11be35a1SLionel SambucE (a*|b)* - (0,0)(0,0) 129*11be35a1SLionel SambucE (a+|b)* ab (0,2)(1,2) 130*11be35a1SLionel SambucE (a+|b)+ ab (0,2)(1,2) 131*11be35a1SLionel SambucE (a+|b)? ab (0,1)(0,1) 132*11be35a1SLionel SambucBE [^ab]* cde (0,3) 133*11be35a1SLionel SambucE (^)* - (0,0)(0,0) 134*11be35a1SLionel SambucBE a* NULL (0,0) 135*11be35a1SLionel SambucE ([abc])*d abbbcd (0,6)(4,5) 136*11be35a1SLionel SambucE ([abc])*bcd abcd (0,4)(0,1) 137*11be35a1SLionel SambucE a|b|c|d|e e (0,1) 138*11be35a1SLionel SambucE (a|b|c|d|e)f ef (0,2)(0,1) 139*11be35a1SLionel SambucE ((a*|b))* - (0,0)(0,0)(0,0) 140*11be35a1SLionel SambucBE abcd*efg abcdefg (0,7) 141*11be35a1SLionel SambucBE ab* xabyabbbz (1,3) 142*11be35a1SLionel SambucBE ab* xayabbbz (1,2) 143*11be35a1SLionel SambucE (ab|cd)e abcde (2,5)(2,4) 144*11be35a1SLionel SambucBE [abhgefdc]ij hij (0,3) 145*11be35a1SLionel SambucE (a|b)c*d abcd (1,4)(1,2) 146*11be35a1SLionel SambucE (ab|ab*)bc abc (0,3)(0,1) 147*11be35a1SLionel SambucE a([bc]*)c* abc (0,3)(1,3) 148*11be35a1SLionel SambucE a([bc]*)(c*d) abcd (0,4)(1,3)(3,4) 149*11be35a1SLionel SambucE a([bc]+)(c*d) abcd (0,4)(1,3)(3,4) 150*11be35a1SLionel SambucE a([bc]*)(c+d) abcd (0,4)(1,2)(2,4) 151*11be35a1SLionel SambucE a[bcd]*dcdcde adcdcde (0,7) 152*11be35a1SLionel SambucE (ab|a)b*c abc (0,3)(0,2) 153*11be35a1SLionel SambucE ((a)(b)c)(d) abcd (0,4)(0,3)(0,1)(1,2)(3,4) 154*11be35a1SLionel SambucBE [A-Za-z_][A-Za-z0-9_]* alpha (0,5) 155*11be35a1SLionel SambucE ^a(bc+|b[eh])g|.h$ abh (1,3) 156*11be35a1SLionel SambucE (bc+d$|ef*g.|h?i(j|k)) effgz (0,5)(0,5) 157*11be35a1SLionel SambucE (bc+d$|ef*g.|h?i(j|k)) ij (0,2)(0,2)(1,2) 158*11be35a1SLionel SambucE (bc+d$|ef*g.|h?i(j|k)) reffgz (1,6)(1,6) 159*11be35a1SLionel SambucE (((((((((a))))))))) a (0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1) 160*11be35a1SLionel SambucBE multiple words multiple words yeah (0,14) 161*11be35a1SLionel SambucE (.*)c(.*) abcde (0,5)(0,2)(3,5) 162*11be35a1SLionel SambucBE abcd abcd (0,4) 163*11be35a1SLionel SambucE a(bc)d abcd (0,4)(1,3) 164*11be35a1SLionel SambucE a[-]?c ac (0,3) 165*11be35a1SLionel SambucE M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Muammar Qaddafi (0,15)(?,?)(10,12) 166*11be35a1SLionel SambucE M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Mo'ammar Gadhafi (0,16)(?,?)(11,13) 167*11be35a1SLionel SambucE M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Muammar Kaddafi (0,15)(?,?)(10,12) 168*11be35a1SLionel SambucE M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Muammar Qadhafi (0,15)(?,?)(10,12) 169*11be35a1SLionel SambucE M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Muammar Gadafi (0,14)(?,?)(10,11) 170*11be35a1SLionel SambucE M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Mu'ammar Qadafi (0,15)(?,?)(11,12) 171*11be35a1SLionel SambucE M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Moamar Gaddafi (0,14)(?,?)(9,11) 172*11be35a1SLionel SambucE M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Mu'ammar Qadhdhafi (0,18)(?,?)(13,15) 173*11be35a1SLionel SambucE M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Muammar Khaddafi (0,16)(?,?)(11,13) 174*11be35a1SLionel SambucE M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Muammar Ghaddafy (0,16)(?,?)(11,13) 175*11be35a1SLionel SambucE M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Muammar Ghadafi (0,15)(?,?)(11,12) 176*11be35a1SLionel SambucE M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Muammar Ghaddafi (0,16)(?,?)(11,13) 177*11be35a1SLionel SambucE M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Muamar Kaddafi (0,14)(?,?)(9,11) 178*11be35a1SLionel SambucE M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Muammar Quathafi (0,16)(?,?)(11,13) 179*11be35a1SLionel SambucE M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Muammar Gheddafi (0,16)(?,?)(11,13) 180*11be35a1SLionel SambucE M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Moammar Khadafy (0,15)(?,?)(11,12) 181*11be35a1SLionel SambucE M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Moammar Qudhafi (0,15)(?,?)(10,12) 182*11be35a1SLionel SambucE a+(b|c)*d+ aabcdd (0,6)(3,4) 183*11be35a1SLionel SambucE ^.+$ vivi (0,4) 184*11be35a1SLionel SambucE ^(.+)$ vivi (0,4)(0,4) 185*11be35a1SLionel SambucE ^([^!.]+).att.com!(.+)$ gryphon.att.com!eby (0,19)(0,7)(16,19) 186*11be35a1SLionel SambucE ^([^!]+!)?([^!]+)$ bas (0,3)(?,?)(0,3) 187*11be35a1SLionel SambucE ^([^!]+!)?([^!]+)$ bar!bas (0,7)(0,4)(4,7) 188*11be35a1SLionel SambucE ^([^!]+!)?([^!]+)$ foo!bas (0,7)(0,4)(4,7) 189*11be35a1SLionel SambucE ^.+!([^!]+!)([^!]+)$ foo!bar!bas (0,11)(4,8)(8,11) 190*11be35a1SLionel SambucE ((foo)|(bar))!bas bar!bas (0,7)(0,3)(?,?)(0,3) 191*11be35a1SLionel SambucE ((foo)|(bar))!bas foo!bar!bas (4,11)(4,7)(?,?)(4,7) 192*11be35a1SLionel SambucE ((foo)|(bar))!bas foo!bas (0,7)(0,3)(0,3) 193*11be35a1SLionel SambucE ((foo)|bar)!bas bar!bas (0,7)(0,3) 194*11be35a1SLionel SambucE ((foo)|bar)!bas foo!bar!bas (4,11)(4,7) 195*11be35a1SLionel SambucE ((foo)|bar)!bas foo!bas (0,7)(0,3)(0,3) 196*11be35a1SLionel SambucE (foo|(bar))!bas bar!bas (0,7)(0,3)(0,3) 197*11be35a1SLionel SambucE (foo|(bar))!bas foo!bar!bas (4,11)(4,7)(4,7) 198*11be35a1SLionel SambucE (foo|(bar))!bas foo!bas (0,7)(0,3) 199*11be35a1SLionel SambucE (foo|bar)!bas bar!bas (0,7)(0,3) 200*11be35a1SLionel SambucE (foo|bar)!bas foo!bar!bas (4,11)(4,7) 201*11be35a1SLionel SambucE (foo|bar)!bas foo!bas (0,7)(0,3) 202*11be35a1SLionel SambucE ^(([^!]+!)?([^!]+)|.+!([^!]+!)([^!]+))$ foo!bar!bas (0,11)(0,11)(?,?)(?,?)(4,8)(8,11) 203*11be35a1SLionel SambucE ^([^!]+!)?([^!]+)$|^.+!([^!]+!)([^!]+)$ bas (0,3)(?,?)(0,3) 204*11be35a1SLionel SambucE ^([^!]+!)?([^!]+)$|^.+!([^!]+!)([^!]+)$ bar!bas (0,7)(0,4)(4,7) 205*11be35a1SLionel SambucE ^([^!]+!)?([^!]+)$|^.+!([^!]+!)([^!]+)$ foo!bar!bas (0,11)(?,?)(?,?)(4,8)(8,11) 206*11be35a1SLionel SambucE ^([^!]+!)?([^!]+)$|^.+!([^!]+!)([^!]+)$ foo!bas (0,7)(0,4)(4,7) 207*11be35a1SLionel SambucE ^(([^!]+!)?([^!]+)|.+!([^!]+!)([^!]+))$ bas (0,3)(0,3)(?,?)(0,3) 208*11be35a1SLionel SambucE ^(([^!]+!)?([^!]+)|.+!([^!]+!)([^!]+))$ bar!bas (0,7)(0,7)(0,4)(4,7) 209*11be35a1SLionel SambucE ^(([^!]+!)?([^!]+)|.+!([^!]+!)([^!]+))$ foo!bar!bas (0,11)(0,11)(?,?)(?,?)(4,8)(8,11) 210*11be35a1SLionel SambucE ^(([^!]+!)?([^!]+)|.+!([^!]+!)([^!]+))$ foo!bas (0,7)(0,7)(0,4)(4,7) 211*11be35a1SLionel SambucE .*(/XXX).* /XXX (0,4)(0,4) 212*11be35a1SLionel SambucE .*(\\XXX).* \XXX (0,4)(0,4) 213*11be35a1SLionel SambucE \\XXX \XXX (0,4) 214*11be35a1SLionel SambucE .*(/000).* /000 (0,4)(0,4) 215*11be35a1SLionel SambucE .*(\\000).* \000 (0,4)(0,4) 216*11be35a1SLionel SambucE \\000 \000 (0,4) 217