Reviewed by Darin.
[WebKit-https.git] / LayoutTests / fast / regex / testinput4
1 /-- Do not use the \x{} construct except with patterns that have the --/
2 /-- /8 option set, because PCRE doesn't recognize them as UTF-8 unless --/
3 /-- that option is set. However, the latest Perls recognize them always. --/
4
5 /a.b/8
6     acb
7     a\x7fb
8     a\x{100}b 
9     *** Failers
10     a\nb  
11
12 /a(.{3})b/8
13     a\x{4000}xyb 
14     a\x{4000}\x7fyb 
15     a\x{4000}\x{100}yb 
16     *** Failers
17     a\x{4000}b 
18     ac\ncb 
19
20 /a(.*?)(.)/
21     a\xc0\x88b
22
23 /a(.*?)(.)/8
24     a\x{100}b
25
26 /a(.*)(.)/
27     a\xc0\x88b
28
29 /a(.*)(.)/8
30     a\x{100}b
31
32 /a(.)(.)/
33     a\xc0\x92bcd
34
35 /a(.)(.)/8
36     a\x{240}bcd
37
38 /a(.?)(.)/
39     a\xc0\x92bcd
40
41 /a(.?)(.)/8
42     a\x{240}bcd
43
44 /a(.??)(.)/
45     a\xc0\x92bcd
46
47 /a(.??)(.)/8
48     a\x{240}bcd
49
50 /a(.{3})b/8
51     a\x{1234}xyb 
52     a\x{1234}\x{4321}yb 
53     a\x{1234}\x{4321}\x{3412}b 
54     *** Failers
55     a\x{1234}b 
56     ac\ncb 
57
58 /a(.{3,})b/8
59     a\x{1234}xyb 
60     a\x{1234}\x{4321}yb 
61     a\x{1234}\x{4321}\x{3412}b 
62     axxxxbcdefghijb 
63     a\x{1234}\x{4321}\x{3412}\x{3421}b 
64     *** Failers
65     a\x{1234}b 
66
67 /a(.{3,}?)b/8
68     a\x{1234}xyb 
69     a\x{1234}\x{4321}yb 
70     a\x{1234}\x{4321}\x{3412}b 
71     axxxxbcdefghijb 
72     a\x{1234}\x{4321}\x{3412}\x{3421}b 
73     *** Failers
74     a\x{1234}b 
75
76 /a(.{3,5})b/8
77     a\x{1234}xyb 
78     a\x{1234}\x{4321}yb 
79     a\x{1234}\x{4321}\x{3412}b 
80     axxxxbcdefghijb 
81     a\x{1234}\x{4321}\x{3412}\x{3421}b 
82     axbxxbcdefghijb 
83     axxxxxbcdefghijb 
84     *** Failers
85     a\x{1234}b 
86     axxxxxxbcdefghijb 
87
88 /a(.{3,5}?)b/8
89     a\x{1234}xyb 
90     a\x{1234}\x{4321}yb 
91     a\x{1234}\x{4321}\x{3412}b 
92     axxxxbcdefghijb 
93     a\x{1234}\x{4321}\x{3412}\x{3421}b 
94     axbxxbcdefghijb 
95     axxxxxbcdefghijb 
96     *** Failers
97     a\x{1234}b 
98     axxxxxxbcdefghijb 
99
100 /^[a\x{c0}]/8
101     *** Failers
102     \x{100}
103
104 /(?<=aXb)cd/8
105     aXbcd
106
107 /(?<=a\x{100}b)cd/8
108     a\x{100}bcd
109
110 /(?<=a\x{100000}b)cd/8
111     a\x{100000}bcd
112     
113 /(?:\x{100}){3}b/8
114     \x{100}\x{100}\x{100}b
115     *** Failers 
116     \x{100}\x{100}b
117
118 /\x{ab}/8
119     \x{ab} 
120     \xc2\xab
121     *** Failers 
122     \x00{ab}
123
124 /(?<=(.))X/8
125     WXYZ
126     \x{256}XYZ 
127     *** Failers
128     XYZ 
129
130 /X(\C{3})/8
131     X\x{1234}
132
133 /X(\C{4})/8
134     X\x{1234}YZ
135     
136 /X\C*/8
137     XYZabcdce
138     
139 /X\C*?/8
140     XYZabcde
141     
142 /X\C{3,5}/8
143     Xabcdefg   
144     X\x{1234} 
145     X\x{1234}YZ
146     X\x{1234}\x{512}  
147     X\x{1234}\x{512}YZ
148
149 /X\C{3,5}?/8
150     Xabcdefg   
151     X\x{1234} 
152     X\x{1234}YZ
153     X\x{1234}\x{512}  
154
155 /[^a]+/8g
156     bcd
157     \x{100}aY\x{256}Z 
158     
159 /^[^a]{2}/8
160     \x{100}bc
161  
162 /^[^a]{2,}/8
163     \x{100}bcAa
164
165 /^[^a]{2,}?/8
166     \x{100}bca
167
168 /[^a]+/8ig
169     bcd
170     \x{100}aY\x{256}Z 
171     
172 /^[^a]{2}/8i
173     \x{100}bc
174  
175 /^[^a]{2,}/8i
176     \x{100}bcAa
177
178 /^[^a]{2,}?/8i
179     \x{100}bca
180
181 /\x{100}{0,0}/8
182     abcd
183  
184 /\x{100}?/8
185     abcd
186     \x{100}\x{100} 
187
188 /\x{100}{0,3}/8 
189     \x{100}\x{100} 
190     \x{100}\x{100}\x{100}\x{100} 
191     
192 /\x{100}*/8
193     abce
194     \x{100}\x{100}\x{100}\x{100} 
195
196 /\x{100}{1,1}/8
197     abcd\x{100}\x{100}\x{100}\x{100} 
198
199 /\x{100}{1,3}/8
200     abcd\x{100}\x{100}\x{100}\x{100} 
201
202 /\x{100}+/8
203     abcd\x{100}\x{100}\x{100}\x{100} 
204
205 /\x{100}{3}/8
206     abcd\x{100}\x{100}\x{100}XX
207
208 /\x{100}{3,5}/8
209     abcd\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}XX
210
211 /\x{100}{3,}/8
212     abcd\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}XX
213
214 /(?<=a\x{100}{2}b)X/8+
215     Xyyya\x{100}\x{100}bXzzz
216
217 /\D*/8
218   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
219
220 /\D*/8
221   \x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}
222
223 /\D/8
224     1X2
225     1\x{100}2 
226   
227 />\S/8
228     > >X Y
229     > >\x{100} Y
230   
231 /\d/8
232     \x{100}3
233     
234 /\s/8
235     \x{100} X
236     
237 /\D+/8
238     12abcd34
239     *** Failers
240     1234  
241
242 /\D{2,3}/8
243     12abcd34
244     12ab34
245     *** Failers  
246     1234
247     12a34  
248
249 /\D{2,3}?/8
250     12abcd34
251     12ab34
252     *** Failers  
253     1234
254     12a34  
255
256 /\d+/8
257     12abcd34
258     *** Failers
259
260 /\d{2,3}/8
261     12abcd34
262     1234abcd
263     *** Failers  
264     1.4 
265
266 /\d{2,3}?/8
267     12abcd34
268     1234abcd
269     *** Failers  
270     1.4 
271
272 /\S+/8
273     12abcd34
274     *** Failers
275     \    \ 
276
277 /\S{2,3}/8
278     12abcd34
279     1234abcd
280     *** Failers
281     \     \  
282
283 /\S{2,3}?/8
284     12abcd34
285     1234abcd
286     *** Failers
287     \     \  
288
289 />\s+</8+
290     12>      <34
291     *** Failers
292
293 />\s{2,3}</8+
294     ab>  <cd
295     ab>   <ce
296     *** Failers
297     ab>    <cd 
298
299 />\s{2,3}?</8+
300     ab>  <cd
301     ab>   <ce
302     *** Failers
303     ab>    <cd 
304
305 /\w+/8
306     12      34
307     *** Failers
308     +++=*! 
309
310 /\w{2,3}/8
311     ab  cd
312     abcd ce
313     *** Failers
314     a.b.c
315
316 /\w{2,3}?/8
317     ab  cd
318     abcd ce
319     *** Failers
320     a.b.c
321
322 /\W+/8
323     12====34
324     *** Failers
325     abcd 
326
327 /\W{2,3}/8
328     ab====cd
329     ab==cd
330     *** Failers
331     a.b.c
332
333 /\W{2,3}?/8
334     ab====cd
335     ab==cd
336     *** Failers
337     a.b.c
338
339 /[\x{100}]/8
340     \x{100}
341     Z\x{100}
342     \x{100}Z
343     *** Failers 
344
345 /[Z\x{100}]/8
346     Z\x{100}
347     \x{100}
348     \x{100}Z
349     *** Failers 
350
351 /[\x{100}\x{200}]/8
352    ab\x{100}cd
353    ab\x{200}cd
354    *** Failers  
355
356 /[\x{100}-\x{200}]/8
357    ab\x{100}cd
358    ab\x{200}cd
359    ab\x{111}cd 
360    *** Failers  
361
362 /[z-\x{200}]/8
363    ab\x{100}cd
364    ab\x{200}cd
365    ab\x{111}cd 
366    abzcd
367    ab|cd  
368    *** Failers  
369
370 /[Q\x{100}\x{200}]/8
371    ab\x{100}cd
372    ab\x{200}cd
373    Q? 
374    *** Failers  
375
376 /[Q\x{100}-\x{200}]/8
377    ab\x{100}cd
378    ab\x{200}cd
379    ab\x{111}cd 
380    Q? 
381    *** Failers  
382
383 /[Qz-\x{200}]/8
384    ab\x{100}cd
385    ab\x{200}cd
386    ab\x{111}cd 
387    abzcd
388    ab|cd  
389    Q? 
390    *** Failers  
391
392 /[\x{100}\x{200}]{1,3}/8
393    ab\x{100}cd
394    ab\x{200}cd
395    ab\x{200}\x{100}\x{200}\x{100}cd
396    *** Failers  
397
398 /[\x{100}\x{200}]{1,3}?/8
399    ab\x{100}cd
400    ab\x{200}cd
401    ab\x{200}\x{100}\x{200}\x{100}cd
402    *** Failers  
403
404 /[Q\x{100}\x{200}]{1,3}/8
405    ab\x{100}cd
406    ab\x{200}cd
407    ab\x{200}\x{100}\x{200}\x{100}cd
408    *** Failers  
409
410 /[Q\x{100}\x{200}]{1,3}?/8
411    ab\x{100}cd
412    ab\x{200}cd
413    ab\x{200}\x{100}\x{200}\x{100}cd
414    *** Failers  
415
416 /(?<=[\x{100}\x{200}])X/8
417     abc\x{200}X
418     abc\x{100}X 
419     *** Failers
420     X  
421
422 /(?<=[Q\x{100}\x{200}])X/8
423     abc\x{200}X
424     abc\x{100}X 
425     abQX 
426     *** Failers
427     X  
428
429 /(?<=[\x{100}\x{200}]{3})X/8
430     abc\x{100}\x{200}\x{100}X
431     *** Failers
432     abc\x{200}X
433     X  
434
435 /[^\x{100}\x{200}]X/8
436     AX
437     \x{150}X
438     \x{500}X 
439     *** Failers
440     \x{100}X
441     \x{200}X   
442
443 /[^Q\x{100}\x{200}]X/8
444     AX
445     \x{150}X
446     \x{500}X 
447     *** Failers
448     \x{100}X
449     \x{200}X   
450     QX 
451
452 /[^\x{100}-\x{200}]X/8
453     AX
454     \x{500}X 
455     *** Failers
456     \x{100}X
457     \x{150}X
458     \x{200}X   
459
460 /a\Cb/
461     aXb
462     a\nb
463   
464 /a\Cb/8
465     aXb
466     a\nb
467     *** Failers 
468     a\x{100}b 
469
470 /[z-\x{100}]/8i
471     z
472     Z 
473     \x{100}
474     *** Failers
475     \x{102}
476     y    
477
478 /[\xFF]/
479     >\xff<
480
481 /[\xff]/8
482     >\x{ff}<
483
484 /[^\xFF]/
485     XYZ
486
487 /[^\xff]/8
488     XYZ
489     \x{123} 
490
491 /^[ac]*b/8
492   xb
493
494 /^[ac\x{100}]*b/8
495   xb
496
497 /^[^x]*b/8i
498   xb
499
500 /^[^x]*b/8
501   xb
502   
503 /^\d*b/8
504   xb 
505
506 /(|a)/g8
507     catac
508     a\x{256}a 
509
510 /^\x{85}$/8i
511     \x{85}
512
513 /^ሴ/8
514     ሴ 
515
516 /^\ሴ/8
517     ሴ 
518
519 "(?s)(.{1,5})"8
520     abcdefg
521     ab
522
523 /a*\x{100}*\w/8
524     a 
525
526 /\S\S/8g
527     A\x{a3}BC
528     
529 /\S{2}/8g
530     A\x{a3}BC
531     
532 /\W\W/8g
533     +\x{a3}== 
534
535 /\W{2}/8g
536     +\x{a3}== 
537
538 / End of testinput4 /