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