Diff of /code/trunk/testdata/testinput2

revision 41 by nigel, Sat Feb 24 21:39:17 2007 UTC revision 171 by ph10, Mon Jun 4 14:28:58 2007 UTC
# Line 1  Line 1
1  /(a)b|/  /(a)b|/I
2
3  /abc/  /abc/I
4      abc      abc
5      defabc      defabc
6      \Aabc      \Aabc
# Line 8  Line 8
9      ABC      ABC
10
11  /^abc/  /^abc/I
12      abc      abc
13      \Aabc      \Aabc
14      *** Failers      *** Failers
15      defabc      defabc
17
18  /a+bc/  /a+bc/I
19
20  /a*bc/  /a*bc/I
21
22  /a{3}bc/  /a{3}bc/I
23
24  /(abc|a+z)/  /(abc|a+z)/I
25
26  /^abc\$/  /^abc\$/I
27      abc      abc
28      *** Failers      *** Failers
29      def\nabc      def\nabc
30
31  /ab\gdef/X  /ab\hdef/X
32
33  /(?X)ab\gdef/X  /(?X)ab\hdef/X
34
35  /x{5,4}/  /x{5,4}/
36
# Line 38  Line 38
38
39  /[abcd/  /[abcd/
40
41  /[\B]/  /(?X)[\B]/

/[a-\w]/
42
43  /[z-a]/  /[z-a]/
44
# Line 52  Line 50
50
51  /(?z)abc/  /(?z)abc/
52
53  /.*b/  /.*b/I
54
55  /.*?b/  /.*?b/I
56
57  /cat|dog|elephant/  /cat|dog|elephant/I
58      this sentence eventually mentions a cat      this sentence eventually mentions a cat
59      this sentences rambles on and on for a while and then reaches elephant      this sentences rambles on and on for a while and then reaches elephant
60
61  /cat|dog|elephant/S  /cat|dog|elephant/IS
62      this sentence eventually mentions a cat      this sentence eventually mentions a cat
63      this sentences rambles on and on for a while and then reaches elephant      this sentences rambles on and on for a while and then reaches elephant
64
65  /cat|dog|elephant/iS  /cat|dog|elephant/IiS
66      this sentence eventually mentions a CAT cat      this sentence eventually mentions a CAT cat
67      this sentences rambles on and on for a while to elephant ElePhant      this sentences rambles on and on for a while to elephant ElePhant
68
69  /a|[bcd]/S  /a|[bcd]/IS
70
71  /(a|[^\dZ])/S  /(a|[^\dZ])/IS
72
73  /(a|b)*[\s]/S  /(a|b)*[\s]/IS
74
75  /(ab\2)/  /(ab\2)/
76
77  /{4,5}abc/  /{4,5}abc/
78
79  /(a)(b)(c)\2/  /(a)(b)(c)\2/I
80      abcb      abcb
81      \O0abcb      \O0abcb
82      \O3abcb      \O3abcb
83      \O6abcb      \O6abcb
84      \O9abcb      \O9abcb
85      \O12abcb      \O12abcb
86
87  /(a)bc|(a)(b)\2/  /(a)bc|(a)(b)\2/I
88      abc      abc
89      \O0abc      \O0abc
90      \O3abc      \O3abc
# Line 98  Line 96
96      \O9aba      \O9aba
97      \O12aba      \O12aba
98
99  /abc\$/E  /abc\$/IE
100      abc      abc
101      *** Failers      *** Failers
102      abc\n      abc\n
# Line 106  Line 104
104
105  /(a)(b)(c)(d)(e)\6/  /(a)(b)(c)(d)(e)\6/
106
107  /the quick brown fox/  /the quick brown fox/I
108      the quick brown fox      the quick brown fox
109      this is a line with the quick brown fox      this is a line with the quick brown fox
110
111  /the quick brown fox/A  /the quick brown fox/IA
112      the quick brown fox      the quick brown fox
113      *** Failers      *** Failers
114      this is a line with the quick brown fox      this is a line with the quick brown fox
115
116  /ab(?z)cd/  /ab(?z)cd/
117
118  /^abc|def/  /^abc|def/I
119      abcdef      abcdef
120      abcdef\B      abcdef\B
121
122  /.*((abc)\$|(def))/  /.*((abc)\$|(def))/I
123      defabc      defabc
124      \Zdefabc      \Zdefabc
125
126  /abc/P  /abc/IP
127      abc      abc
128      *** Failers      *** Failers
129
130  /^abc|def/P  /^abc|def/IP
131      abcdef      abcdef
132      abcdef\B      abcdef\B
133
134  /.*((abc)\$|(def))/P  /.*((abc)\$|(def))/IP
135      defabc      defabc
136      \Zdefabc      \Zdefabc
137
138  /the quick brown fox/P  /the quick brown fox/IP
139      the quick brown fox      the quick brown fox
140      *** Failers      *** Failers
141      The Quick Brown Fox      The Quick Brown Fox
142
143  /the quick brown fox/Pi  /the quick brown fox/IPi
144      the quick brown fox      the quick brown fox
145      The Quick Brown Fox      The Quick Brown Fox
146
147  /abc.def/P  /abc.def/IP
148      *** Failers      *** Failers
149      abc\ndef      abc\ndef
150
151  /abc\$/P  /abc\$/IP
152      abc      abc
153      abc\n      abc\n
154
155  /(abc)\2/P  /(abc)\2/IP
156
157  /(abc\1)/P  /(abc\1)/IP
158      abc      abc
159
160  /)/  /)/
161
162  /a[]b/  /a[]b/
163
164  /[^aeiou ]{3,}/  /[^aeiou ]{3,}/I
165      co-processors, and for      co-processors, and for
166
167  /<.*>/  /<.*>/I
168      abc<def>ghi<klm>nop      abc<def>ghi<klm>nop
169
170  /<.*?>/  /<.*?>/I
171      abc<def>ghi<klm>nop      abc<def>ghi<klm>nop
172
173  /<.*>/U  /<.*>/IU
174      abc<def>ghi<klm>nop      abc<def>ghi<klm>nop
175
176  /<.*>(?U)/  /(?U)<.*>/I
177      abc<def>ghi<klm>nop      abc<def>ghi<klm>nop
178
179  /<.*?>/U  /<.*?>/IU
180      abc<def>ghi<klm>nop      abc<def>ghi<klm>nop
181
182  /={3,}/U  /={3,}/IU
183      abc========def      abc========def
184
185  /(?U)={3,}?/  /(?U)={3,}?/I
186      abc========def      abc========def
187
188  /(?<!bar|cattle)foo/  /(?<!bar|cattle)foo/I
189      foo      foo
190      catfoo      catfoo
191      *** Failers      *** Failers
192      the barfoo      the barfoo
193      and cattlefoo      and cattlefoo
194
195  /(?<=a+)b/  /(?<=a+)b/
196
# Line 200  Line 198
198
199  /(?<!(foo)a\1)bar/  /(?<!(foo)a\1)bar/
200
201  /(?i)abc/  /(?i)abc/I
202
203  /(a|(?m)a)/  /(a|(?m)a)/I
204
205  /(?i)^1234/  /(?i)^1234/I
206
207  /(^b|(?i)^d)/  /(^b|(?i)^d)/I
208
209  /(?s).*/  /(?s).*/I
210
211  /[abcd]/S  /[abcd]/IS
212
213  /(?i)[abcd]/S  /(?i)[abcd]/IS
214
215  /(?m)[xy]|(b|c)/S  /(?m)[xy]|(b|c)/IS
216
217  /(^a|^b)/m  /(^a|^b)/Im
218
219  /(?i)(^a|^b)/m  /(?i)(^a|^b)/Im
220
221  /(a)(?(1)a|b|c)/  /(a)(?(1)a|b|c)/
222
# Line 226  Line 224
224
225  /(?(1a)/  /(?(1a)/
226
227    /(?(1a))/
228
229  /(?(?i))/  /(?(?i))/
230
231  /(?(abc))/  /(?(abc))/
232
233  /(?(?<ab))/  /(?(?<ab))/
234
235  /((?s)blah)\s+\1/  /((?s)blah)\s+\1/I
236
237  /((?i)blah)\s+\1/  /((?i)blah)\s+\1/I
238
239  /((?i)b)/DS  /((?i)b)/IDZS
240
241  /(a*b|(?i:c*(?-i)d))/S  /(a*b|(?i:c*(?-i)d))/IS
242
243  /a\$/  /a\$/I
244      a      a
245      a\n      a\n
246      *** Failers      *** Failers
247      \Za      \Za
248      \Za\n      \Za\n
249
250  /a\$/m  /a\$/Im
251      a      a
252      a\n      a\n
253      \Za\n      \Za\n
254      *** Failers      *** Failers
255      \Za      \Za

/\Aabc/m
256
257  /^abc/m  /\Aabc/Im
258
259  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/  /^abc/Im
260
261    /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I
262    aaaaabbbbbcccccdef    aaaaabbbbbcccccdef
263
264  /(?<=foo)[ab]/S  /(?<=foo)[ab]/IS
265
266  /(?<!foo)(alpha|omega)/S  /(?<!foo)(alpha|omega)/IS
267
268  /(?!alphabet)[ab]/S  /(?!alphabet)[ab]/IS
269
270  /(?<=foo\n)^bar/m  /(?<=foo\n)^bar/Im
271        foo\nbarbar
272        ***Failers
273        rhubarb
274        barbell
275        abc\nbarton
276
277    /^(?<=foo\n)bar/Im
278        foo\nbarbar
279        ***Failers
280        rhubarb
281        barbell
282        abc\nbarton
283
284  /(?>^abc)/m  /(?>^abc)/Im
285      abc      abc
286      def\nabc      def\nabc
287      *** Failers      *** Failers
288      defabc      defabc
289
290  /(?<=ab(c+)d)ef/  /(?<=ab(c+)d)ef/
291
# Line 283  Line 295
295
296  /The next three are in testinput2 because they have variable length branches/  /The next three are in testinput2 because they have variable length branches/
297
298  /(?<=bullock|donkey)-cart/  /(?<=bullock|donkey)-cart/I
299      the bullock-cart      the bullock-cart
300      a donkey-cart race      a donkey-cart race
301      *** Failers      *** Failers
302      cart      cart
303      horse-and-cart      horse-and-cart

/(?<=ab(?i)x|y|z)/
304
305  /(?>.*)(?<=(abcd)|(xyz))/  /(?<=ab(?i)x|y|z)/I
306
307    /(?>.*)(?<=(abcd)|(xyz))/I
308      alphabetabcd      alphabetabcd
309      endingxyz      endingxyz
310
311  /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/  /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/I
312      abxyZZ      abxyZZ
313      abXyZZ      abXyZZ
314      ZZZ      ZZZ
315      zZZ      zZZ
316      bZZ      bZZ
317      BZZ      BZZ
318      *** Failers      *** Failers
319      ZZ      ZZ
320      abXYZZ      abXYZZ
321      zzz      zzz
322      bzz      bzz
323
324  /(?<!(foo)a)bar/  /(?<!(foo)a)bar/I
325      bar      bar
326      foobbar      foobbar
327      *** Failers      *** Failers
328      fooabar      fooabar
329
330  /This one is here because Perl 5.005_02 doesn't fail it/  /This one is here because Perl 5.005_02 doesn't fail it/I
331
332  /^(a)?(?(1)a|b)+\$/  /^(a)?(?(1)a|b)+\$/I
333      *** Failers      *** Failers
334      a      a
335
336  /This one is here because I think Perl 5.005_02 gets the setting of \$1 wrong/  /This one is here because I think Perl 5.005_02 gets the setting of \$1 wrong/I
337
338  /^(a\1?){4}\$/  /^(a\1?){4}\$/I
339      aaaaaa      aaaaaa
340
341  /These are syntax tests from Perl 5.005/  /These are syntax tests from Perl 5.005/I
342
343  /a[b-a]/  /a[b-a]/
344
# Line 352  Line 364
364
365  /(a)|\2/  /(a)|\2/
366
367  /a[b-a]/i  /a[b-a]/Ii
368
369  /a[]b/i  /a[]b/Ii
370
371  /a[/i  /a[/Ii
372
373  /*a/i  /*a/Ii
374
375  /(*)b/i  /(*)b/Ii
376
377  /abc)/i  /abc)/Ii
378
379  /(abc/i  /(abc/Ii
380
381  /a**/i  /a**/Ii
382
383  /)(/i  /)(/Ii
384
385  /:(?:/  /:(?:/
386
# Line 400  Line 412
412
413  /abc/\i  /abc/\i
414
415  /(a)bc(d)/  /(a)bc(d)/I
416      abcd      abcd
417      abcd\C2      abcd\C2
418      abcd\C5      abcd\C5
419
420  /(.{20})/  /(.{20})/I
421      abcdefghijklmnopqrstuvwxyz      abcdefghijklmnopqrstuvwxyz
422      abcdefghijklmnopqrstuvwxyz\C1      abcdefghijklmnopqrstuvwxyz\C1
423      abcdefghijklmnopqrstuvwxyz\G1      abcdefghijklmnopqrstuvwxyz\G1
424
425  /(.{15})/  /(.{15})/I
426      abcdefghijklmnopqrstuvwxyz      abcdefghijklmnopqrstuvwxyz
427      abcdefghijklmnopqrstuvwxyz\C1\G1      abcdefghijklmnopqrstuvwxyz\C1\G1
428
429  /(.{16})/  /(.{16})/I
430      abcdefghijklmnopqrstuvwxyz      abcdefghijklmnopqrstuvwxyz
431      abcdefghijklmnopqrstuvwxyz\C1\G1\L      abcdefghijklmnopqrstuvwxyz\C1\G1\L

/^(a|(bc))de(f)/
bcdef\G1\G2\G3\G4\L

/^abc\00def/
abc\00def\L\C0

/word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
)((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
)?)?)?)?)?)?)?)?)?otherword/M
432
433  /.*X/D  /^(a|(bc))de(f)/I
435        bcdef\G1\G2\G3\G4\L
437
438  /.*X/Ds  /^abc\00def/I
439        abc\00def\L\C0
440
441  /(.*X|^B)/D  /word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
442    )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
443    )?)?)?)?)?)?)?)?)?otherword/I
444
445  /(.*X|^B)/Ds  /.*X/IDZ
446
447  /(?s)(.*X|^B)/D  /.*X/IDZs
448
449    /(.*X|^B)/IDZ
450
451  /(?s:.*X|^B)/D  /(.*X|^B)/IDZs
452
453  /\Biss\B/+  /(?s)(.*X|^B)/IDZ
454
455    /(?s:.*X|^B)/IDZ
456
457    /\Biss\B/I+
458      Mississippi      Mississippi
459
460  /\Biss\B/+P  /\Biss\B/I+P
461      Mississippi      Mississippi
462
463  /iss/G+  /iss/IG+
464      Mississippi      Mississippi
465
466  /\Biss\B/G+  /\Biss\B/IG+
467      Mississippi      Mississippi
468
469  /\Biss\B/g+  /\Biss\B/Ig+
470      Mississippi      Mississippi
471      *** Failers      *** Failers
472      Mississippi\A      Mississippi\A
473
474  /(?<=[Ms])iss/g+  /(?<=[Ms])iss/Ig+
475      Mississippi      Mississippi
476
477  /(?<=[Ms])iss/G+  /(?<=[Ms])iss/IG+
478      Mississippi      Mississippi
479
480  /^iss/g+  /^iss/Ig+
481      ississippi      ississippi

/.*iss/g+
abciss\nxyzisspqr
482
483  /.i./+g  /.*iss/Ig+
484        abciss\nxyzisspqr
485
486    /.i./I+g
487      Mississippi      Mississippi
488      Mississippi\A      Mississippi\A
489      Missouri river      Missouri river
490      Missouri river\A      Missouri river\A
491
492  /^.is/+g  /^.is/I+g
493      Mississippi      Mississippi
494
495  /^ab\n/g+  /^ab\n/Ig+
496      ab\nab\ncd      ab\nab\ncd
497
498  /^ab\n/mg+  /^ab\n/Img+
499      ab\nab\ncd      ab\nab\ncd
500
501  /abc/  /abc/I
502
503  /abc|bac/  /abc|bac/I
504
505  /(abc|bac)/  /(abc|bac)/I
506
507  /(abc|(c|dc))/  /(abc|(c|dc))/I
508
509  /(abc|(d|de)c)/  /(abc|(d|de)c)/I
510
511  /a*/  /a*/I
512
513  /a+/  /a+/I
514
515  /(baa|a+)/  /(baa|a+)/I
516
517  /a{0,3}/  /a{0,3}/I
518
519  /baa{3,}/  /baa{3,}/I
520
521  /"([^\\"]+|\\.)*"/  /"([^\\"]+|\\.)*"/I
522
523  /(abc|ab[cd])/  /(abc|ab[cd])/I
524
525  /(a|.)/  /(a|.)/I
526
527  /a|ba|\w/  /a|ba|\w/I
528
529  /abc(?=pqr)/  /abc(?=pqr)/I
530
531  /...(?<=abc)/  /...(?<=abc)/I
532
533  /abc(?!pqr)/  /abc(?!pqr)/I
534
535  /ab./  /ab./I
536
537  /ab[xyz]/  /ab[xyz]/I
538
539  /abc*/  /abc*/I
540
541  /ab.c*/  /ab.c*/I
542
543  /a.c*/  /a.c*/I
544
545  /.c*/  /.c*/I
546
547  /ac*/  /ac*/I
548
549  /(a.c*|b.c*)/  /(a.c*|b.c*)/I
550
551  /a.c*|aba/  /a.c*|aba/I
552
553  /.+a/  /.+a/I
554
555  /(?=abcda)a.*/  /(?=abcda)a.*/I
556
557  /(?=a)a.*/  /(?=a)a.*/I
558
559  /a(b)*/  /a(b)*/I
560
561  /a\d*/  /a\d*/I
562
563  /ab\d*/  /ab\d*/I
564
565  /a(\d)*/  /a(\d)*/I
566
567  /abcde{0,0}/  /abcde{0,0}/I
568
569  /ab\d+/  /ab\d+/I
570
571  /a(?(1)b)/  /a(?(1)b)/I
572
573  /a(?(1)bag|big)/  /a(?(1)bag|big)/I
574
575  /a(?(1)bag|big)*/  /a(?(1)bag|big)*/I
576
577  /a(?(1)bag|big)+/  /a(?(1)bag|big)+/I
578
579  /a(?(1)b..|b..)/  /a(?(1)b..|b..)/I
580
581  /ab\d{0}e/  /ab\d{0}e/I
582
583  /a?b?/  /a?b?/I
584      a      a
585      b      b
586      ab      ab
587      \      \
588      *** Failers      *** Failers
589      \N      \N
590
591  /|-/  /|-/I
592      abcd      abcd
593      -abc      -abc
594      \Nab-c      \Nab-c
595      *** Failers      *** Failers
596      \Nabc      \Nabc
597
598  /a*(b+)(z)(z)/P  /a*(b+)(z)(z)/IP
599      aaaabbbbzzzz      aaaabbbbzzzz
600      aaaabbbbzzzz\O0      aaaabbbbzzzz\O0
601      aaaabbbbzzzz\O1      aaaabbbbzzzz\O1
# Line 592  Line 604
604      aaaabbbbzzzz\O4      aaaabbbbzzzz\O4
605      aaaabbbbzzzz\O5      aaaabbbbzzzz\O5
606
607  / End of test input /  /^.?abcd/IS
608
609    /\(             # ( at start
610      (?:           # Non-capturing bracket
611      (?>[^()]+)    # Either a sequence of non-brackets (no backtracking)
612      |             # Or
613      (?R)          # Recurse - i.e. nested bracketed string
614      )*            # Zero or more contents
615      \)            # Closing )
616      /Ix
617        (abcd)
618        (abcd)xyz
619        xyz(abcd)
620        (ab(xy)cd)pqr
621        (ab(xycd)pqr
622        () abc ()
623        12(abcde(fsh)xyz(foo(bar))lmno)89
624        *** Failers
625        abcd
626        abcd)
627        (abcd
628
629    /\(  ( (?>[^()]+) | (?R) )* \) /Ixg
630        (ab(xy)cd)pqr
631        1(abcd)(x(y)z)pqr
632
633    /\(  (?: (?>[^()]+) | (?R) ) \) /Ix
634        (abcd)
635        (ab(xy)cd)
636        (a(b(c)d)e)
637        ((ab))
638        *** Failers
639        ()
640
641    /\(  (?: (?>[^()]+) | (?R) )? \) /Ix
642        ()
643        12(abcde(fsh)xyz(foo(bar))lmno)89
644
645    /\(  ( (?>[^()]+) | (?R) )* \) /Ix
646        (ab(xy)cd)
647
648    /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix
649        (ab(xy)cd)
650
651    /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix
652        (ab(xy)cd)
653        (123ab(xy)cd)
654
655    /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix
656        (ab(xy)cd)
657        (123ab(xy)cd)
658
659    /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix
660        (ab(xy)cd)
661
662    /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix
663        (abcd(xyz<p>qrs)123)
664
665    /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix
666        (ab(cd)ef)
667        (ab(cd(ef)gh)ij)
668
669    /^[[:alnum:]]/DZ
670
671    /^[[:^alnum:]]/DZ
672
673    /^[[:alpha:]]/DZ
674
675    /^[[:^alpha:]]/DZ
676
677    /[_[:alpha:]]/IS
678
679    /^[[:ascii:]]/DZ
680
681    /^[[:^ascii:]]/DZ
682
683    /^[[:blank:]]/DZ
684
685    /^[[:^blank:]]/DZ
686
687    /[\n\x0b\x0c\x0d[:blank:]]/IS
688
689    /^[[:cntrl:]]/DZ
690
691    /^[[:digit:]]/DZ
692
693    /^[[:graph:]]/DZ
694
695    /^[[:lower:]]/DZ
696
697    /^[[:print:]]/DZ
698
699    /^[[:punct:]]/DZ
700
701    /^[[:space:]]/DZ
702
703    /^[[:upper:]]/DZ
704
705    /^[[:xdigit:]]/DZ
706
707    /^[[:word:]]/DZ
708
709    /^[[:^cntrl:]]/DZ
710
711    /^[12[:^digit:]]/DZ
712
713    /^[[:^blank:]]/DZ
714
715    /[01[:alpha:]%]/DZ
716
717    /[[.ch.]]/I
718
719    /[[=ch=]]/I
720
721    /[[:rhubarb:]]/I
722
723    /[[:upper:]]/Ii
724        A
725        a
726
727    /[[:lower:]]/Ii
728        A
729        a
730
731    /((?-i)[[:lower:]])[[:lower:]]/Ii
732        ab
733        aB
734        *** Failers
735        Ab
736        AB
737
738    /[\200-\110]/I
739
740    /^(?(0)f|b)oo/I
741
742    /This one's here because of the large output vector needed/I
743
744    /(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\d+(?:\s|\$))(\w+)\s+(\270)/I
745        \O900 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 ABC ABC
746
747    /This one's here because Perl does this differently and PCRE can't at present/I
748
749    /(main(O)?)+/I
750        mainmain
751        mainOmain
752
753    /These are all cases where Perl does it differently (nested captures)/I
754
755    /^(a(b)?)+\$/I
756        aba
757
758    /^(aa(bb)?)+\$/I
759        aabbaa
760
761    /^(aa|aa(bb))+\$/I
762        aabbaa
763
764    /^(aa(bb)??)+\$/I
765        aabbaa
766
767    /^(?:aa(bb)?)+\$/I
768        aabbaa
769
770    /^(aa(b(b))?)+\$/I
771        aabbaa
772
773    /^(?:aa(b(b))?)+\$/I
774        aabbaa
775
776    /^(?:aa(b(?:b))?)+\$/I
777        aabbaa
778
779    /^(?:aa(bb(?:b))?)+\$/I
780        aabbbaa
781
782    /^(?:aa(b(?:bb))?)+\$/I
783        aabbbaa
784
785    /^(?:aa(?:b(b))?)+\$/I
786        aabbaa
787
788    /^(?:aa(?:b(bb))?)+\$/I
789        aabbbaa
790
791    /^(aa(b(bb))?)+\$/I
792        aabbbaa
793
794    /^(aa(bb(bb))?)+\$/I
795        aabbbbaa
796
797    /--------------------------------------------------------------------/I
798
799    /#/IxDZ
800
801    /a#/IxDZ
802
803    /[\s]/DZ
804
805    /[\S]/DZ
806
807    /a(?i)b/DZ
808        ab
809        aB
810        *** Failers
811        AB
812
813    /(a(?i)b)/DZ
814        ab
815        aB
816        *** Failers
817        AB
818
819    /   (?i)abc/IxDZ
820
821    /#this is a comment
822      (?i)abc/IxDZ
823
824    /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
825
826    /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
827
828    /\Q\E/DZ
829        \
830
831    /\Q\Ex/DZ
832
833    / \Q\E/DZ
834
835    /a\Q\E/DZ
836      abc
837      bca
838      bac
839
840    /a\Q\Eb/DZ
841      abc
842
843    /\Q\Eabc/DZ
844
845    /x*+\w/DZ
846        *** Failers
847        xxxxx
848
849    /x?+/DZ
850
851    /x++/DZ
852
853    /x{1,3}+/DZ
854
855    /(x)*+/DZ
856
857    /^(\w++|\s++)*\$/I
858        now is the time for all good men to come to the aid of the party
859        *** Failers
860        this is not a line with only words and spaces!
861
862    /(\d++)(\w)/I
863        12345a
864        *** Failers
865        12345+
866
867    /a++b/I
868        aaab
869
870    /(a++b)/I
871        aaab
872
873    /(a++)b/I
874        aaab
875
876    /([^()]++|\([^()]*\))+/I
878
879    /\(([^()]++|\([^()]+\))+\)/I
880        (abc)
881        (abc(def)xyz)
882        *** Failers
883        ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
884
885    /(abc){1,3}+/DZ
886
887    /a+?+/I
888
889    /a{2,3}?+b/I
890
891    /(?U)a+?+/I
892
893    /a{2,3}?+b/IU
894
895    /x(?U)a++b/DZ
896        xaaaab
897
898    /(?U)xa++b/DZ
899        xaaaab
900
901    /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/DZ
902
903    /^x(?U)a+b/DZ
904
905    /^x(?U)(a+)b/DZ
906
907    /[.x.]/I
908
909    /[=x=]/I
910
911    /[:x:]/I
912
913    /\l/I
914
915    /\L/I
916
917    /\N{name}/I
918
919    /\u/I
920
921    /\U/I
922
923    /[/I
924
925    /[a-/I
926
927    /[[:space:]/I
928
929    /[\s]/IDZ
930
931    /[[:space:]]/IDZ
932
933    /[[:space:]abcde]/IDZ
934
935    /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/Ix
936        <>
937        <abcd>
938        <abc <123> hij>
939        <abc <def> hij>
940        <abc<>def>
941        <abc<>
942        *** Failers
943        <abc
944
945    |8J\\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|IDZ
946
947    |\\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|IDZ
948
949    /(.*)\d+\1/I
950
951    /(.*)\d+/I
952
953    /(.*)\d+\1/Is
954
955    /(.*)\d+/Is
956
957    /(.*(xyz))\d+\2/I
958
959    /((.*))\d+\1/I
960        abc123bc
961
962    /a[b]/I
963
964    /(?=a).*/I
965
966    /(?=abc).xyz/IiI
967
968    /(?=abc)(?i).xyz/I
969
970    /(?=a)(?=b)/I
971
972    /(?=.)a/I
973
974    /((?=abcda)a)/I
975
976    /((?=abcda)ab)/I
977
978    /()a/I
979
980    /(?(1)ab|ac)/I
981
982    /(?(1)abz|acz)/I
983
984    /(?(1)abz)/I
985
986    /(?(1)abz)123/I
987
988    /(a)+/I
989
990    /(a){2,3}/I
991
992    /(a)*/I
993
994    /[a]/I
995
996    /[ab]/I
997
998    /[ab]/IS
999
1000    /[^a]/I
1001
1002    /\d456/I
1003
1004    /\d456/IS
1005
1006    /a^b/I
1007
1008    /^a/Im
1009      abcde
1010      xy\nabc
1011      *** Failers
1012      xyabc
1013
1014    /c|abc/I
1015
1016    /(?i)[ab]/IS
1017
1018    /[ab](?i)cd/IS
1019
1020    /abc(?C)def/I
1021        abcdef
1022        1234abcdef
1023        *** Failers
1024        abcxyz
1025        abcxyzf
1026
1027    /abc(?C)de(?C1)f/I
1028        123abcdef
1029
1030    /(?C1)\dabc(?C2)def/I
1031        1234abcdef
1032        *** Failers
1033        abcdef
1034
1035    /(?C255)ab/I
1036
1037    /(?C256)ab/I
1038
1039    /(?Cab)xx/I
1040
1041    /(?C12vr)x/I
1042
1043    /abc(?C)def/I
1044        *** Failers
1045        \x83\x0\x61bcdef
1046
1047    /(abc)(?C)de(?C1)f/I
1048        123abcdef
1049        123abcdef\C+
1050        123abcdef\C-
1051        *** Failers
1052        123abcdef\C!1
1053
1054    /(?C0)(abc(?C1))*/I
1055        abcabcabc
1056        abcabc\C!1!3
1057        *** Failers
1058        abcabcabc\C!1!3
1059
1060    /(\d{3}(?C))*/I
1061        123\C+
1062        123456\C+
1063        123456789\C+
1064
1065    /((xyz)(?C)p|(?C1)xyzabc)/I
1066        xyzabc\C+
1067
1068    /(X)((xyz)(?C)p|(?C1)xyzabc)/I
1069        Xxyzabc\C+
1070
1071    /(?=(abc))(?C)abcdef/I
1072        abcdef\C+
1073
1074    /(?!(abc)(?C1)d)(?C2)abcxyz/I
1075        abcxyz\C+
1076
1077    /(?<=(abc)(?C))xyz/I
1078       abcxyz\C+
1079
1080    /a(b+)(c*)(?C1)/I
1081        abbbbbccc\C*1
1082
1083    /a(b+?)(c*?)(?C1)/I
1084        abbbbbccc\C*1
1085
1086    /(?C)abc/I
1087
1088    /(?C)^abc/I
1089
1090    /(?C)a|b/IS
1091
1092    /(?R)/I
1093
1094    /(a|(?R))/I
1095
1096    /(ab|(bc|(de|(?R))))/I
1097
1098    /x(ab|(bc|(de|(?R))))/I
1099        xab
1100        xbc
1101        xde
1102        xxab
1103        xxxab
1104        *** Failers
1105        xyab
1106
1107    /(ab|(bc|(de|(?1))))/I
1108
1109    /x(ab|(bc|(de|(?1)x)x)x)/I
1110
1111    /^([^()]|\((?1)*\))*\$/I
1112        abc
1113        a(b)c
1114        a(b(c))d
1115        *** Failers)
1116        a(b(c)d
1117
1118    /^>abc>([^()]|\((?1)*\))*<xyz<\$/I
1119       >abc>123<xyz<
1120       >abc>1(2)3<xyz<
1121       >abc>(1(2)3)<xyz<
1122
1123    /(a(?1)b)/DZ
1124
1125    /(a(?1)+b)/DZ
1126
1127    /^\W*(?:((.)\W*(?1)\W*\2|)|((.)\W*(?3)\W*\4|\W*.\W*))\W*\$/Ii
1128        1221
1129        Satan, oscillate my metallic sonatas!
1130        A man, a plan, a canal: Panama!
1131        Able was I ere I saw Elba.
1132        *** Failers
1133        The quick brown fox
1134
1135    /^(\d+|\((?1)([+*-])(?1)\)|-(?1))\$/I
1136        12
1137        (((2+2)*-3)-7)
1138        -12
1139        *** Failers
1140        ((2+2)*-3)-7)
1141
1142    /^(x(y|(?1){2})z)/I
1143        xyz
1144        xxyzxyzz
1145        *** Failers
1146        xxyzz
1147        xxyzxyzxyzz
1148
1149    /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/Ix
1150        <>
1151        <abcd>
1152        <abc <123> hij>
1153        <abc <def> hij>
1154        <abc<>def>
1155        <abc<>
1156        *** Failers
1157        <abc
1158
1159    /(?1)/I
1160
1161    /((?2)(abc)/I
1162
1163    /^(abc)def(?1)/I
1164        abcdefabc
1165
1166    /^(a|b|c)=(?1)+/I
1167        a=a
1168        a=b
1169        a=bc
1170
1171    /^(a|b|c)=((?1))+/I
1172        a=a
1173        a=b
1174        a=bc
1175
1176    /a(?P<name1>b|c)d(?P<longername2>e)/DZ
1177        abde
1178        acde
1179
1180    /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/DZ
1181
1182    /(?P<a>a)...(?P=a)bbb(?P>a)d/DZ
1183
1184    /^\W*(?:(?P<one>(?P<two>.)\W*(?P>one)\W*(?P=two)|)|(?P<three>(?P<four>.)\W*(?P>three)\W*(?P=four)|\W*.\W*))\W*\$/Ii
1185        1221
1186        Satan, oscillate my metallic sonatas!
1187        A man, a plan, a canal: Panama!
1188        Able was I ere I saw Elba.
1189        *** Failers
1190        The quick brown fox
1191
1192    /((?(R)a|b))\1(?1)?/I
1193      bb
1194      bbaa
1195
1196    /(.*)a/Is
1197
1198    /(.*)a\1/Is
1199
1200    /(.*)a(b)\2/Is
1201
1202    /((.*)a|(.*)b)z/Is
1203
1204    /((.*)a|(.*)b)z\1/Is
1205
1206    /((.*)a|(.*)b)z\2/Is
1207
1208    /((.*)a|(.*)b)z\3/Is
1209
1210    /((.*)a|^(.*)b)z\3/Is
1211
1212    /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is
1213
1214    /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is
1215
1216    /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is
1217
1218    /(a)(bc)/INDZ
1219      abc
1220
1221    /(?P<one>a)(bc)/INDZ
1222      abc
1223
1224    /(a)(?P<named>bc)/INDZ
1225
1226    /(a+)*zz/I
1227      aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzbbbbbb\M
1228      aaaaaaaaaaaaaz\M
1229
1230    /(aaa(?C1)bbb|ab)/I
1231       aaabbb
1232       aaabbb\C*0
1233       aaabbb\C*1
1234       aaabbb\C*-1
1235
1236    /ab(?P<one>cd)ef(?P<two>gh)/I
1237        abcdefgh
1238        abcdefgh\C1\Gtwo
1239        abcdefgh\Cone\Ctwo
1240        abcdefgh\Cthree
1241
1242    /(?P<Tes>)(?P<Test>)/DZ
1243
1244    /(?P<Test>)(?P<Tes>)/DZ
1245
1246    /(?P<Z>zz)(?P<A>aa)/I
1247        zzaa\CZ
1248        zzaa\CA
1249
1250    /(?P<x>eks)(?P<x>eccs)/I
1251
1252    /(?P<abc>abc(?P<def>def)(?P<abc>xyz))/I
1253
1254    "\[((?P<elem>\d+)(,(?P>elem))*)\]"I
1255        [10,20,30,5,5,4,4,2,43,23,4234]
1256        *** Failers
1257        []
1258
1259    "\[((?P<elem>\d+)(,(?P>elem))*)?\]"I
1260        [10,20,30,5,5,4,4,2,43,23,4234]
1261        []
1262
1263    /(a(b(?2)c))?/DZ
1264
1265    /(a(b(?2)c))*/DZ
1266
1267    /(a(b(?2)c)){0,2}/DZ
1268
1269    /[ab]{1}+/DZ
1270
1271    /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii
1272         Baby Bjorn Active Carrier - With free SHIPPING!!
1273
1274    /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS
1275         Baby Bjorn Active Carrier - With free SHIPPING!!
1276
1277    /a*.*b/ISDZ
1278
1279    /(a|b)*.?c/ISDZ
1280
1281    /abc(?C255)de(?C)f/DZ
1282
1283    /abcde/ICDZ
1284      abcde
1285      abcdfe
1286
1287    /a*b/ICDZ
1288      ab
1289      aaaab
1290      aaaacb
1291
1292    /a+b/ICDZ
1293      ab
1294      aaaab
1295      aaaacb
1296
1297    /(abc|def)x/ICDZ
1298      abcx
1299      defx
1300      abcdefzx
1301
1302    /(ab|cd){3,4}/IC
1303      ababab
1304      abcdabcd
1305      abcdcdcdcdcd
1306
1307    /([ab]{,4}c|xy)/ICDZ
1308        Note: that { does NOT introduce a quantifier
1309
1310    /([ab]{1,4}c|xy){4,5}?123/ICDZ
1311        aacaacaacaacaac123
1312
1313    /\b.*/I
1314      ab cd\>1
1315
1316    /\b.*/Is
1317      ab cd\>1
1318
1319    /(?!.bcd).*/I
1320      Xbcd12345
1321
1322    /abcde/I
1323        ab\P
1324        abc\P
1325        abcd\P
1326        abcde\P
1327        the quick brown abc\P
1328        ** Failers\P
1329        the quick brown abxyz fox\P
1330
1331    "^(0?[1-9]|[12][0-9]|3[01])/(0?[1-9]|1[012])/(20)?\d\d\$"I
1332        13/05/04\P
1333        13/5/2004\P
1334        02/05/09\P
1335        1\P
1336        1/2\P
1337        1/2/0\P
1338        1/2/04\P
1339        0\P
1340        02/\P
1341        02/0\P
1342        02/1\P
1343        ** Failers\P
1344        \P
1345        123\P
1346        33/4/04\P
1347        3/13/04\P
1348        0/1/2003\P
1349        0/\P
1350        02/0/\P
1351        02/13\P
1352
1353    /0{0,2}ABC/I
1354
1355    /\d{3,}ABC/I
1356
1357    /\d*ABC/I
1358
1359    /[abc]+DE/I
1360
1361    /[abc]?123/I
1362        123\P
1363        a\P
1364        b\P
1365        c\P
1366        c12\P
1367        c123\P
1368
1369    /^(?:\d){3,5}X/I
1370        1\P
1371        123\P
1372        123X
1373        1234\P
1374        1234X
1375        12345\P
1376        12345X
1377        *** Failers
1378        1X
1379        123456\P
1380
1381    /abc/I>testsavedregex
1382    <testsavedregex
1383        abc
1384        ** Failers
1385        bca
1386
1387    /abc/IF>testsavedregex
1388    <testsavedregex
1389        abc
1390        ** Failers
1391        bca
1392
1393    /(a|b)/IS>testsavedregex
1394    <testsavedregex
1395        abc
1396        ** Failers
1397        def
1398
1399    /(a|b)/ISF>testsavedregex
1400    <testsavedregex
1401        abc
1402        ** Failers
1403        def
1404
1405    ~<(\w+)/?>(.)*</(\1)>~smgI
1407
1408    /^a/IF
1409
1410    /line\nbreak/I
1411        this is a line\nbreak
1412        line one\nthis is a line\nbreak in the second line
1413
1414    /line\nbreak/If
1415        this is a line\nbreak
1416        ** Failers
1417        line one\nthis is a line\nbreak in the second line
1418
1419    /line\nbreak/Imf
1420        this is a line\nbreak
1421        ** Failers
1422        line one\nthis is a line\nbreak in the second line
1423
1424    /ab.cd/IP
1425        ab-cd
1426        ab=cd
1427        ** Failers
1428        ab\ncd
1429
1430    /ab.cd/IPs
1431        ab-cd
1432        ab=cd
1433        ab\ncd
1434
1435    /(?i)(?-i)AbCd/I
1436        AbCd
1437        ** Failers
1438        abcd
1439
1440    /a{11111111111111111111}/I
1441
1442    /(){64294967295}/I
1443
1444    /(){2,4294967295}/I
1445
1446    "(?i:a)(?i:b)(?i:c)(?i:d)(?i:e)(?i:f)(?i:g)(?i:h)(?i:i)(?i:j)(k)(?i:l)A\1B"I
1447        abcdefghijklAkB
1448
1449    "(?P<n0>a)(?P<n1>b)(?P<n2>c)(?P<n3>d)(?P<n4>e)(?P<n5>f)(?P<n6>g)(?P<n7>h)(?P<n8>i)(?P<n9>j)(?P<n10>k)(?P<n11>l)A\11B"I
1450        abcdefghijklAkB
1451
1452    "(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)A\11B"I
1453        abcdefghijklAkB
1454
1455    "(?P<name0>a)(?P<name1>a)(?P<name2>a)(?P<name3>a)(?P<name4>a)(?P<name5>a)(?P<name6>a)(?P<name7>a)(?P<name8>a)(?P<name9>a)(?P<name10>a)(?P<name11>a)(?P<name12>a)(?P<name13>a)(?P<name14>a)(?P<name15>a)(?P<name16>a)(?P<name17>a)(?P<name18>a)(?P<name19>a)(?P<name20>a)(?P<name21>a)(?P<name22>a)(?P<name23>a)(?P<name24>a)(?P<name25>a)(?P<name26>a)(?P<name27>a)(?P<name28>a)(?P<name29>a)(?P<name30>a)(?P<name31>a)(?P<name32>a)(?P<name33>a)(?P<name34>a)(?P<name35>a)(?P<name36>a)(?P<name37>a)(?P<name38>a)(?P<name39>a)(?P<name40>a)(?P<name41>a)(?P<name42>a)(?P<name43>a)(?P<name44>a)(?P<name45>a)(?P<name46>a)(?P<name47>a)(?P<name48>a)(?P<name49>a)(?P<name50>a)(?P<name51>a)(?P<name52>a)(?P<name53>a)(?P<name54>a)(?P<name55>a)(?P<name56>a)(?P<name57>a)(?P<name58>a)(?P<name59>a)(?P<name60>a)(?P<name61>a)(?P<name62>a)(?P<name63>a)(?P<name64>a)(?P<name65>a)(?P<name66>a)(?P<name67>a)(?P<name68>a)(?P<name69>a)(?P<name70>a)(?P<name71>a)(?P<name72>a)(?P<name73>a)(?P<name74>a)(?P<name75>a)(?P<name76>a)(?P<name77>a)(?P<name78>a)(?P<name79>a)(?P<name80>a)(?P<name81>a)(?P<name82>a)(?P<name83>a)(?P<name84>a)(?P<name85>a)(?P<name86>a)(?P<name87>a)(?P<name88>a)(?P<name89>a)(?P<name90>a)(?P<name91>a)(?P<name92>a)(?P<name93>a)(?P<name94>a)(?P<name95>a)(?P<name96>a)(?P<name97>a)(?P<name98>a)(?P<name99>a)(?P<name100>a)"I
1456        aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1457
1458    "(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)"I
1459        aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1460
1461    /[^()]*(?:\((?R)\)[^()]*)*/I
1462        (this(and)that
1463        (this(and)that)
1464        (this(and)that)stuff
1465
1466    /[^()]*(?:\((?>(?R))\)[^()]*)*/I
1467        (this(and)that
1468        (this(and)that)
1469
1470    /[^()]*(?:\((?R)\))*[^()]*/I
1471        (this(and)that
1472        (this(and)that)
1473
1474    /(?:\((?R)\))*[^()]*/I
1475        (this(and)that
1476        (this(and)that)
1477        ((this))
1478
1479    /(?:\((?R)\))|[^()]*/I
1480        (this(and)that
1481        (this(and)that)
1482        (this)
1483        ((this))
1484
1485    /a(b)c/IPN
1486        abc
1487
1488    /a(?P<name>b)c/IPN
1489        abc
1490
1491    /\x{100}/I
1492
1493    /\x{0000ff}/I
1494
1495    /^((?P<A>a1)|(?P<A>a2)b)/I
1496
1497    /^((?P<A>a1)|(?P<A>a2)b)/IJ
1498        a1b\CA
1499        a2b\CA
1500        ** Failers
1501        a1b\CZ\CA
1502
1503    /^(?P<A>a)(?P<A>b)/IJ
1504        ab\CA
1505
1506    /^(?P<A>a)(?P<A>b)|cd/IJ
1507        ab\CA
1508        cd\CA
1509
1510    /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ
1511        cdefgh\CA
1512
1513    /^((?P<A>a1)|(?P<A>a2)b)/IJ
1514        a1b\GA
1515        a2b\GA
1516        ** Failers
1517        a1b\GZ\GA
1518
1519    /^(?P<A>a)(?P<A>b)/IJ
1520        ab\GA
1521
1522    /^(?P<A>a)(?P<A>b)|cd/IJ
1523        ab\GA
1524        cd\GA
1525
1526    /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ
1527        cdefgh\GA
1528
1529    /(?J)^((?P<A>a1)|(?P<A>a2)b)/I
1530        a1b\CA
1531        a2b\CA
1532
1533    /^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<A>d)/I
1534
1535    / In this next test, J is not set at the outer level; consequently it isn't
1536    set in the pattern's options; consequently pcre_get_named_substring() produces
1537    a random value. /Ix
1538
1539    /^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<C>d)/I
1540        a bc d\CA\CB\CC
1541
1542    /^(?P<A>a)?(?(A)a|b)/I
1543        aabc
1544        bc
1545        ** Failers
1546        abc
1547
1548    /(?:(?(ZZ)a|b)(?P<ZZ>X))+/I
1549        bXaX
1550
1551    /(?:(?(2y)a|b)(X))+/I
1552
1553    /(?:(?(ZA)a|b)(?P<ZZ>X))+/I
1554
1555    /(?:(?(ZZ)a|b)(?(ZZ)a|b)(?P<ZZ>X))+/I
1556        bbXaaX
1557
1558    /(?:(?(ZZ)a|\(b\))\\(?P<ZZ>X))+/I
1559        (b)\\Xa\\X
1560
1561    /(?P<ABC/I
1562
1563    /(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I
1564        bXXaYYaY
1565        bXYaXXaX
1566
1567    /()()()()()()()()()(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I
1568        bXXaYYaY
1569
1570    /\777/I
1571
1572    /\s*,\s*/IS
1573        \x0b,\x0b
1574        \x0c,\x0d
1575
1576    /^abc/Im
1577        xyz\nabc
1578        xyz\nabc\<lf>
1579        xyz\r\nabc\<lf>
1580        xyz\rabc\<cr>
1581        xyz\r\nabc\<crlf>
1582        ** Failers
1583        xyz\nabc\<cr>
1584        xyz\r\nabc\<cr>
1585        xyz\nabc\<crlf>
1586        xyz\rabc\<crlf>
1587        xyz\rabc\<lf>
1588
1589    /abc\$/Im<lf>
1590        xyzabc
1591        xyzabc\n
1592        xyzabc\npqr
1593        xyzabc\r\<cr>
1594        xyzabc\rpqr\<cr>
1595        xyzabc\r\n\<crlf>
1596        xyzabc\r\npqr\<crlf>
1597        ** Failers
1598        xyzabc\r
1599        xyzabc\rpqr
1600        xyzabc\r\n
1601        xyzabc\r\npqr
1602
1603    /^abc/Im<cr>
1604        xyz\rabcdef
1605        xyz\nabcdef\<lf>
1606        ** Failers
1607        xyz\nabcdef
1608
1609    /^abc/Im<lf>
1610        xyz\nabcdef
1611        xyz\rabcdef\<cr>
1612        ** Failers
1613        xyz\rabcdef
1614
1615    /^abc/Im<crlf>
1616        xyz\r\nabcdef
1617        xyz\rabcdef\<cr>
1618        ** Failers
1619        xyz\rabcdef
1620
1622
1623    /abc/I
1625        abc
1626
1627    /.*/I<lf>
1628        abc\ndef
1629        abc\rdef
1630        abc\r\ndef
1631        \<cr>abc\ndef
1632        \<cr>abc\rdef
1633        \<cr>abc\r\ndef
1634        \<crlf>abc\ndef
1635        \<crlf>abc\rdef
1636        \<crlf>abc\r\ndef
1637
1638    /\w+(.)(.)?def/Is
1639        abc\ndef
1640        abc\rdef
1641        abc\r\ndef
1642
1643    +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I
1644       /* this is a C style comment */\M
1645
1646    /(?P<B>25[0-5]|2[0-4]\d|[01]?\d?\d)(?:\.(?P>B)){3}/I
1647
1648    /()()()()()()()()()()()()()()()()()()()()
1649     ()()()()()()()()()()()()()()()()()()()()
1650     ()()()()()()()()()()()()()()()()()()()()
1651     ()()()()()()()()()()()()()()()()()()()()
1652     ()()()()()()()()()()()()()()()()()()()()
1653     (.(.))/Ix
1654        XY\O400
1655
1656    /(a*b|(?i:c*(?-i)d))/IS
1657
1658    /()[ab]xyz/IS
1659
1660    /(|)[ab]xyz/IS
1661
1662    /(|c)[ab]xyz/IS
1663
1664    /(|c?)[ab]xyz/IS
1665
1666    /(d?|c?)[ab]xyz/IS
1667
1668    /(d?|c)[ab]xyz/IS
1669
1670    /^a*b\d/DZ
1671
1672    /^a*+b\d/DZ
1673
1674    /^a*?b\d/DZ
1675
1676    /^a+A\d/DZ
1677        aaaA5
1678        ** Failers
1679        aaaa5
1680
1681    /^a*A\d/IiDZ
1682        aaaA5
1683        aaaa5
1684
1685    /(a*|b*)[cd]/IS
1686
1687    /(a+|b*)[cd]/IS
1688
1689    /(a*|b+)[cd]/IS
1690
1691    /(a+|b+)[cd]/IS
1692
1693    /((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
1694     ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
1695     (((
1696     a
1697     ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
1698     ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
1699     )))
1700    /Ix
1701      large nest
1702
1703    /a*\d/BZ
1704
1705    /a*\D/BZ
1706
1707    /0*\d/BZ
1708
1709    /0*\D/BZ
1710
1711    /a*\s/BZ
1712
1713    /a*\S/BZ
1714
1715    / *\s/BZ
1716
1717    / *\S/BZ
1718
1719    /a*\w/BZ
1720
1721    /a*\W/BZ
1722
1723    /=*\w/BZ
1724
1725    /=*\W/BZ
1726
1727    /\d*a/BZ
1728
1729    /\d*2/BZ
1730
1731    /\d*\d/BZ
1732
1733    /\d*\D/BZ
1734
1735    /\d*\s/BZ
1736
1737    /\d*\S/BZ
1738
1739    /\d*\w/BZ
1740
1741    /\d*\W/BZ
1742
1743    /\D*a/BZ
1744
1745    /\D*2/BZ
1746
1747    /\D*\d/BZ
1748
1749    /\D*\D/BZ
1750
1751    /\D*\s/BZ
1752
1753    /\D*\S/BZ
1754
1755    /\D*\w/BZ
1756
1757    /\D*\W/BZ
1758
1759    /\s*a/BZ
1760
1761    /\s*2/BZ
1762
1763    /\s*\d/BZ
1764
1765    /\s*\D/BZ
1766
1767    /\s*\s/BZ
1768
1769    /\s*\S/BZ
1770
1771    /\s*\w/BZ
1772
1773    /\s*\W/BZ
1774
1775    /\S*a/BZ
1776
1777    /\S*2/BZ
1778
1779    /\S*\d/BZ
1780
1781    /\S*\D/BZ
1782
1783    /\S*\s/BZ
1784
1785    /\S*\S/BZ
1786
1787    /\S*\w/BZ
1788
1789    /\S*\W/BZ
1790
1791    /\w*a/BZ
1792
1793    /\w*2/BZ
1794
1795    /\w*\d/BZ
1796
1797    /\w*\D/BZ
1798
1799    /\w*\s/BZ
1800
1801    /\w*\S/BZ
1802
1803    /\w*\w/BZ
1804
1805    /\w*\W/BZ
1806
1807    /\W*a/BZ
1808
1809    /\W*2/BZ
1810
1811    /\W*\d/BZ
1812
1813    /\W*\D/BZ
1814
1815    /\W*\s/BZ
1816
1817    /\W*\S/BZ
1818
1819    /\W*\w/BZ
1820
1821    /\W*\W/BZ
1822
1823    /[^a]+a/BZ
1824
1825    /[^a]+a/BZi
1826
1827    /[^a]+A/BZi
1828
1829    /[^a]+b/BZ
1830
1831    /[^a]+\d/BZ
1832
1833    /a*[^a]/BZ
1834
1835    /(?P<abc>x)(?P<xyz>y)/I
1836        xy\Cabc\Cxyz
1837
1838    /(?<abc>x)(?'xyz'y)/I
1839        xy\Cabc\Cxyz
1840
1841    /(?<abc'x)(?'xyz'y)/I
1842
1843    /(?<abc>x)(?'xyz>y)/I
1844
1845    /(?P'abc'x)(?P<xyz>y)/I
1846
1847    /^(?:(?(ZZ)a|b)(?<ZZ>X))+/
1848        bXaX
1849        bXbX
1850        ** Failers
1851        aXaX
1852        aXbX
1853
1854    /^(?P>abc)(?<abcd>xxx)/
1855
1856    /^(?P>abc)(?<abc>x|y)/
1857        xx
1858        xy
1859        yy
1860        yx
1861
1862    /^(?P>abc)(?P<abc>x|y)/
1863        xx
1864        xy
1865        yy
1866        yx
1867
1868    /^((?(abc)a|b)(?<abc>x|y))+/
1869        bxay
1870        bxby
1871        ** Failers
1872        axby
1873
1874    /^(((?P=abc)|X)(?<abc>x|y))+/
1875        XxXxxx
1876        XxXyyx
1877        XxXyxx
1878        ** Failers
1879        x
1880
1881    /^(?1)(abc)/
1882        abcabc
1883
1884    /^(?:(?:\1|X)(a|b))+/
1885        Xaaa
1886        Xaba
1887
1888    /^[\E\Qa\E-\Qz\E]+/BZ
1889
1890    /^[a\Q]bc\E]/BZ
1891
1892    /^[a-\Q\E]/BZ
1893
1894    /^(?P>abc)[()](?<abc>)/BZ
1895
1896    /^((?(abc)y)[()](?P<abc>x))+/BZ
1897        (xy)x
1898
1899    /^(?P>abc)\Q()\E(?<abc>)/BZ
1900
1901    /^(?P>abc)[a\Q(]\E(](?<abc>)/BZ
1902
1903    /^(?P>abc) # this is (a comment)
1904      (?<abc>)/BZx
1905
1906    /^\W*(?:(?<one>(?<two>.)\W*(?&one)\W*\k<two>|)|(?<three>(?<four>.)\W*(?&three)\W*\k'four'|\W*.\W*))\W*\$/Ii
1907        1221
1908        Satan, oscillate my metallic sonatas!
1909        A man, a plan, a canal: Panama!
1910        Able was I ere I saw Elba.
1911        *** Failers
1912        The quick brown fox
1913
1914    /(?=(\w+))\1:/I
1915        abcd:
1916
1917    /(?=(?'abc'\w+))\k<abc>:/I
1918        abcd:
1919
1920    /(?'abc'\w+):\k<abc>{2}/
1921        a:aaxyz
1922        ab:ababxyz
1923        ** Failers
1924        a:axyz
1925        ab:abxyz
1926
1927    /(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J
1929        ** Failers
1932
1933    /(?'abc'a|b)(?<abc>d|e)(?&abc){2}/J
1934        bdaa
1935        bdab
1936        ** Failers
1937        bddd
1938
1939    /^(?<ab>a)? (?(<ab>)b|c) (?('ab')d|e)/x
1940        abd
1941        ce
1942
1943    /(?(<bc))/
1944
1945    /(?(''))/
1946
1947    /(?('R')stuff)/
1948
1949    /((abc (?(R) (?(R1)1) (?(R2)2) X  |  (?1)  (?2)   (?R) ))) /x
1950        abcabc1Xabc2XabcXabcabc
1951
1952    /(?<A> (?'B' abc (?(R) (?(R&A)1) (?(R&B)2) X  |  (?1)  (?2)   (?R) ))) /x
1953        abcabc1Xabc2XabcXabcabc
1954
1955    /(?<A> (?'B' abc (?(R) (?(R&1)1) (?(R&B)2) X  |  (?1)  (?2)   (?R) ))) /x
1956
1957    /(?<1> (?'B' abc (?(R) (?(R&1)1) (?(R&B)2) X  |  (?1)  (?2)   (?R) ))) /x
1958        abcabc1Xabc2XabcXabcabc
1959
1960    /^(?(DEFINE) (?<A> a) (?<B> b) )  (?&A) (?&B) /x
1961        abcd
1962
1964      (?(DEFINE)
1965      (?<NAME_PAT>[a-z]+)
1967      )/x
1968        metcalfe 33
1969
1970    /^(?(DEFINE) abc | xyz ) /x
1971
1972    /(?(DEFINE) abc) xyz/xI
1973
1974    /(?(DEFINE) abc){3} xyz/x
1975
1976    /(a|)*\d/
1977      \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1978      \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
1979
1980    /^a.b/<lf>
1981        a\rb
1982        a\nb\<cr>
1983        a\x85b\<anycrlf>
1984        ** Failers
1985        a\nb
1986        a\nb\<any>
1987        a\rb\<cr>
1988        a\rb\<any>
1989        a\x85b\<any>
1990        a\rb\<anycrlf>
1991
1992    /^abc./mgx<any>
1993        abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x85abc7 \x{2028}abc8 \x{2029}abc9 JUNK
1994
1995    /abc.\$/mgx<any>
1996        abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc7\x{2028} abc8\x{2029} abc9
1997
1998    /a/<cr><any>
1999
2000    /a/<any><crlf>
2001
2002    /^a\Rb/
2003        a\nb
2004        a\rb
2005        a\r\nb
2006        a\x0bb
2007        a\x0cb
2008        a\x85b
2009        ** Failers
2010        a\n\rb
2011
2012    /^a\R*b/
2013        ab
2014        a\nb
2015        a\rb
2016        a\r\nb
2017        a\x0bb
2018        a\x0cb
2019        a\x85b
2020        a\n\rb
2021        a\n\r\x85\x0cb
2022
2023    /^a\R+b/
2024        a\nb
2025        a\rb
2026        a\r\nb
2027        a\x0bb
2028        a\x0cb
2029        a\x85b
2030        a\n\rb
2031        a\n\r\x85\x0cb
2032        ** Failers
2033        ab
2034
2035    /^a\R{1,3}b/
2036        a\nb
2037        a\n\rb
2038        a\n\r\x85b
2039        a\r\n\r\nb
2040        a\r\n\r\n\r\nb
2041        a\n\r\n\rb
2042        a\n\n\r\nb
2043        ** Failers
2044        a\n\n\n\rb
2045        a\r
2046
2047    /^a[\R]b/
2048        aRb
2049        ** Failers
2050        a\nb
2051
2052    /(?&abc)X(?<abc>P)/I
2053        abcPXP123
2054
2055    /(?1)X(?<abc>P)/I
2056        abcPXP123
2057
2058    /(?(DEFINE)(?<byte>2[0-4]\d|25[0-5]|1\d\d|[1-9]?\d))\b(?&byte)(\.(?&byte)){3}/
2059        1.2.3.4
2060        131.111.10.206
2061        10.0.0.0
2062        ** Failers
2063        10.6
2064        455.3.4.5
2065
2066    /\b(?&byte)(\.(?&byte)){3}(?(DEFINE)(?<byte>2[0-4]\d|25[0-5]|1\d\d|[1-9]?\d))/
2067        1.2.3.4
2068        131.111.10.206
2069        10.0.0.0
2070        ** Failers
2071        10.6
2072        455.3.4.5
2073
2074    /(?:a(?&abc)b)*(?<abc>x)/
2075        123axbaxbaxbx456
2076        123axbaxbaxb456
2077
2078    /(?:a(?&abc)b){1,5}(?<abc>x)/
2079        123axbaxbaxbx456
2080
2081    /(?:a(?&abc)b){2,5}(?<abc>x)/
2082        123axbaxbaxbx456
2083
2084    /(?:a(?&abc)b){2,}(?<abc>x)/
2085        123axbaxbaxbx456
2086
2087    /(abc)(?i:(?1))/
2088       defabcabcxyz
2089       DEFabcABCXYZ
2090
2091    /(abc)(?:(?i)(?1))/
2092       defabcabcxyz
2093       DEFabcABCXYZ
2094
2095    /^(a(b))\1\g1\g{1}\g-1\g{-1}\g{-02}Z/
2096        ababababbbabZXXXX
2097
2098    /^(a)\g-2/
2099
2100    /^(a)\g/
2101
2102    /^(a)\g{0}/
2103
2104    /^(a)\g{3/
2105
2106    /^(a)\g{4a}/
2107
2108    /^a.b/<lf>
2109        a\rb
2110        *** Failers
2111        a\nb
2112
2113    /.+foo/
2114        afoo
2115        ** Failers
2116        \r\nfoo
2117        \nfoo
2118
2119    /.+foo/<crlf>
2120        afoo
2121        \nfoo
2122        ** Failers
2123        \r\nfoo
2124
2125    /.+foo/<any>
2126        afoo
2127        ** Failers
2128        \nfoo
2129        \r\nfoo
2130
2131    /.+foo/s
2132        afoo
2133        \r\nfoo
2134        \nfoo
2135
2136    /^\$/mg<any>
2137        abc\r\rxyz
2138        abc\n\rxyz
2139        ** Failers
2140        abc\r\nxyz
2141
2142    /(?m)^\$/<any>g+
2143        abc\r\n\r\n
2144
2145    /(?m)^\$|^\r\n/<any>g+
2146        abc\r\n\r\n
2147
2148    /(?m)\$/<any>g+
2149        abc\r\n\r\n
2150
2151    /abc.\$/mgx<anycrlf>
2152        abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc7\x{2028} abc8\x{2029} abc9
2153
2154    /^X/m
2155        XABC
2156        ** Failers
2157        XABC\B
2158
2159    /(ab|c)(?-1)/B
2160        abc
2161
2162    /xy(?+1)(abc)/B
2163        xyabcabc
2164        ** Failers
2165        xyabc
2166
2167    /x(?-0)y/
2168
2169    /x(?-1)y/
2170
2171    /x(?+0)y/
2172
2173    /x(?+1)y/
2174
2175    /^(abc)?(?(-1)X|Y)/B
2176        abcX
2177        Y
2178        ** Failers
2179        abcY
2180
2181    /^((?(+1)X|Y)(abc))+/B
2182        YabcXabc
2183        YabcXabcXabc
2184        ** Failers
2185        XabcXabc
2186
2187    /(?(-1)a)/B
2188
2189    /((?(-1)a))/B
2190
2191    /((?(-2)a))/B
2192
2193    /^(?(+1)X|Y)/B
2194        Y
2195
2196    /(foo)\Kbar/
2197        foobar
2198
2199    /(foo)(\Kbar|baz)/
2200        foobar
2201        foobaz
2202
2203    /(foo\Kbar)baz/
2204        foobarbaz
2205
2206    /(?<A>tom|bon)-\k{A}/
2207        tom-tom
2208        bon-bon
2209        ** Failers
2210        tom-bon
2211
2212    /(?<A>tom|bon)-\g{A}/
2213        tom-tom
2214        bon-bon
2215
2216    /\g{A/
2217
2218    / End of testinput2 /

Legend:
 Removed from v.41 changed lines Added in v.171