/[pcre]/code/trunk/testdata/testinput2
ViewVC logotype

Diff of /code/trunk/testdata/testinput2

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 49 by nigel, Sat Feb 24 21:39:33 2007 UTC revision 450 by ph10, Wed Sep 16 10:56:40 2009 UTC
# Line 1  Line 1 
1  /(a)b|/  /-- This set of tests is not Perl-compatible. It checks on special features
2        of PCRE's API, error diagnostics, and the compiled code of some patterns.
3        It also checks the non-Perl syntax the PCRE supports (Python, .NET,
4        Oniguruma). Finally, there are some tests where PCRE and Perl differ,
5        either because PCRE can't be compatible, or there is potential Perl
6        bug. --/
7    
8    /-- Originally, the Perl 5.10 things were in here too, but now I have separated
9        many (most?) of them out into test 11. However, there may still be some
10        that were overlooked. --/
11    
12  /abc/  /(a)b|/I
13    
14    /abc/I
15      abc      abc
16      defabc      defabc
17      \Aabc      \Aabc
# Line 8  Line 19 
19      \Adefabc      \Adefabc
20      ABC      ABC
21    
22  /^abc/  /^abc/I
23      abc      abc
24      \Aabc      \Aabc
25      *** Failers      *** Failers
26      defabc      defabc
27      \Adefabc      \Adefabc
28    
29  /a+bc/  /a+bc/I
30    
31  /a*bc/  /a*bc/I
32    
33  /a{3}bc/  /a{3}bc/I
34    
35  /(abc|a+z)/  /(abc|a+z)/I
36    
37  /^abc$/  /^abc$/I
38      abc      abc
39      *** Failers      *** Failers
40      def\nabc      def\nabc
41    
42  /ab\gdef/X  /ab\idef/X
43    
44  /(?X)ab\gdef/X  /(?X)ab\idef/X
45    
46  /x{5,4}/  /x{5,4}/
47    
# Line 38  Line 49 
49    
50  /[abcd/  /[abcd/
51    
52  /[\B]/  /(?X)[\B]/
53    
54  /[z-a]/  /[z-a]/
55    
# Line 50  Line 61 
61    
62  /(?z)abc/  /(?z)abc/
63    
64  /.*b/  /.*b/I
65    
66  /.*?b/  /.*?b/I
67    
68  /cat|dog|elephant/  /cat|dog|elephant/I
69      this sentence eventually mentions a cat      this sentence eventually mentions a cat
70      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
71    
72  /cat|dog|elephant/S  /cat|dog|elephant/IS
73      this sentence eventually mentions a cat      this sentence eventually mentions a cat
74      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
75    
76  /cat|dog|elephant/iS  /cat|dog|elephant/IiS
77      this sentence eventually mentions a CAT cat      this sentence eventually mentions a CAT cat
78      this sentences rambles on and on for a while to elephant ElePhant      this sentences rambles on and on for a while to elephant ElePhant
79    
80  /a|[bcd]/S  /a|[bcd]/IS
81    
82  /(a|[^\dZ])/S  /(a|[^\dZ])/IS
83    
84  /(a|b)*[\s]/S  /(a|b)*[\s]/IS
85    
86  /(ab\2)/  /(ab\2)/
87    
88  /{4,5}abc/  /{4,5}abc/
89    
90  /(a)(b)(c)\2/  /(a)(b)(c)\2/I
91      abcb      abcb
92      \O0abcb      \O0abcb
93      \O3abcb      \O3abcb
94      \O6abcb      \O6abcb
95      \O9abcb      \O9abcb
96      \O12abcb      \O12abcb
97    
98  /(a)bc|(a)(b)\2/  /(a)bc|(a)(b)\2/I
99      abc      abc
100      \O0abc      \O0abc
101      \O3abc      \O3abc
# Line 96  Line 107 
107      \O9aba      \O9aba
108      \O12aba      \O12aba
109    
110  /abc$/E  /abc$/IE
111      abc      abc
112      *** Failers      *** Failers
113      abc\n      abc\n
# Line 104  Line 115 
115    
116  /(a)(b)(c)(d)(e)\6/  /(a)(b)(c)(d)(e)\6/
117    
118  /the quick brown fox/  /the quick brown fox/I
119      the quick brown fox      the quick brown fox
120      this is a line with the quick brown fox      this is a line with the quick brown fox
121    
122  /the quick brown fox/A  /the quick brown fox/IA
123      the quick brown fox      the quick brown fox
124      *** Failers      *** Failers
125      this is a line with the quick brown fox      this is a line with the quick brown fox
126    
127  /ab(?z)cd/  /ab(?z)cd/
128    
129  /^abc|def/  /^abc|def/I
130      abcdef      abcdef
131      abcdef\B      abcdef\B
132    
133  /.*((abc)$|(def))/  /.*((abc)$|(def))/I
134      defabc      defabc
135      \Zdefabc      \Zdefabc
136    
137  /abc/P  /abc/P
138      abc      abc
139      *** Failers      *** Failers
140    
141  /^abc|def/P  /^abc|def/P
142      abcdef      abcdef
143      abcdef\B      abcdef\B
# Line 134  Line 145 
145  /.*((abc)$|(def))/P  /.*((abc)$|(def))/P
146      defabc      defabc
147      \Zdefabc      \Zdefabc
148    
149  /the quick brown fox/P  /the quick brown fox/P
150      the quick brown fox      the quick brown fox
151      *** Failers      *** Failers
152      The Quick Brown Fox      The Quick Brown Fox
153    
154  /the quick brown fox/Pi  /the quick brown fox/Pi
155      the quick brown fox      the quick brown fox
156      The Quick Brown Fox      The Quick Brown Fox
157    
158  /abc.def/P  /abc.def/P
159      *** Failers      *** Failers
160      abc\ndef      abc\ndef
161    
162  /abc$/P  /abc$/P
163      abc      abc
164      abc\n      abc\n
165    
166  /(abc)\2/P  /(abc)\2/P
167    
# Line 161  Line 172 
172    
173  /a[]b/  /a[]b/
174    
175  /[^aeiou ]{3,}/  /[^aeiou ]{3,}/I
176      co-processors, and for      co-processors, and for
177    
178  /<.*>/  /<.*>/I
179      abc<def>ghi<klm>nop      abc<def>ghi<klm>nop
180    
181  /<.*?>/  /<.*?>/I
182      abc<def>ghi<klm>nop      abc<def>ghi<klm>nop
183    
184  /<.*>/U  /<.*>/IU
185      abc<def>ghi<klm>nop      abc<def>ghi<klm>nop
186    
187  /<.*>(?U)/  /(?U)<.*>/I
188      abc<def>ghi<klm>nop      abc<def>ghi<klm>nop
189    
190  /<.*?>/U  /<.*?>/IU
191      abc<def>ghi<klm>nop      abc<def>ghi<klm>nop
192    
193  /={3,}/U  /={3,}/IU
194      abc========def      abc========def
195    
196  /(?U)={3,}?/  /(?U)={3,}?/I
197      abc========def      abc========def
198    
199  /(?<!bar|cattle)foo/  /(?<!bar|cattle)foo/I
200      foo      foo
201      catfoo      catfoo
202      *** Failers      *** Failers
203      the barfoo      the barfoo
204      and cattlefoo      and cattlefoo
205    
206  /(?<=a+)b/  /(?<=a+)b/
207    
# Line 198  Line 209 
209    
210  /(?<!(foo)a\1)bar/  /(?<!(foo)a\1)bar/
211    
212  /(?i)abc/  /(?i)abc/I
213    
214  /(a|(?m)a)/  /(a|(?m)a)/I
215    
216  /(?i)^1234/  /(?i)^1234/I
217    
218  /(^b|(?i)^d)/  /(^b|(?i)^d)/I
219    
220  /(?s).*/  /(?s).*/I
221    
222  /[abcd]/S  /[abcd]/IS
223    
224  /(?i)[abcd]/S  /(?i)[abcd]/IS
225    
226  /(?m)[xy]|(b|c)/S  /(?m)[xy]|(b|c)/IS
227    
228  /(^a|^b)/m  /(^a|^b)/Im
229    
230  /(?i)(^a|^b)/m  /(?i)(^a|^b)/Im
231    
232  /(a)(?(1)a|b|c)/  /(a)(?(1)a|b|c)/
233    
# Line 224  Line 235 
235    
236  /(?(1a)/  /(?(1a)/
237    
238    /(?(1a))/
239    
240  /(?(?i))/  /(?(?i))/
241    
242  /(?(abc))/  /(?(abc))/
243    
244  /(?(?<ab))/  /(?(?<ab))/
245    
246  /((?s)blah)\s+\1/  /((?s)blah)\s+\1/I
247    
248  /((?i)blah)\s+\1/  /((?i)blah)\s+\1/I
249    
250  /((?i)b)/DS  /((?i)b)/IDZS
251    
252  /(a*b|(?i:c*(?-i)d))/S  /(a*b|(?i:c*(?-i)d))/IS
253    
254  /a$/  /a$/I
255      a      a
256      a\n      a\n
257      *** Failers      *** Failers
258      \Za      \Za
259      \Za\n      \Za\n
260    
261  /a$/m  /a$/Im
262      a      a
263      a\n      a\n
264      \Za\n      \Za\n
265      *** Failers      *** Failers
266      \Za      \Za
   
 /\Aabc/m  
267    
268  /^abc/m  /\Aabc/Im
269    
270    /^abc/Im
271    
272  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I
273    aaaaabbbbbcccccdef    aaaaabbbbbcccccdef
274    
275  /(?<=foo)[ab]/S  /(?<=foo)[ab]/IS
276    
277  /(?<!foo)(alpha|omega)/S  /(?<!foo)(alpha|omega)/IS
278    
279  /(?!alphabet)[ab]/S  /(?!alphabet)[ab]/IS
280    
281  /(?<=foo\n)^bar/m  /(?<=foo\n)^bar/Im
282        foo\nbarbar
283        ***Failers
284        rhubarb
285        barbell
286        abc\nbarton
287    
288    /^(?<=foo\n)bar/Im
289        foo\nbarbar
290        ***Failers
291        rhubarb
292        barbell
293        abc\nbarton
294    
295  /(?>^abc)/m  /(?>^abc)/Im
296      abc      abc
297      def\nabc      def\nabc
298      *** Failers      *** Failers
299      defabc      defabc
300    
301  /(?<=ab(c+)d)ef/  /(?<=ab(c+)d)ef/
302    
# Line 281  Line 306 
306    
307  /The next three are in testinput2 because they have variable length branches/  /The next three are in testinput2 because they have variable length branches/
308    
309  /(?<=bullock|donkey)-cart/  /(?<=bullock|donkey)-cart/I
310      the bullock-cart      the bullock-cart
311      a donkey-cart race      a donkey-cart race
312      *** Failers      *** Failers
313      cart      cart
314      horse-and-cart      horse-and-cart
315    
316  /(?<=ab(?i)x|y|z)/  /(?<=ab(?i)x|y|z)/I
317    
318  /(?>.*)(?<=(abcd)|(xyz))/  /(?>.*)(?<=(abcd)|(xyz))/I
319      alphabetabcd      alphabetabcd
320      endingxyz      endingxyz
321    
322  /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/  /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/I
323      abxyZZ      abxyZZ
324      abXyZZ      abXyZZ
325      ZZZ      ZZZ
326      zZZ      zZZ
327      bZZ      bZZ
328      BZZ      BZZ
329      *** Failers      *** Failers
330      ZZ      ZZ
331      abXYZZ      abXYZZ
332      zzz      zzz
333      bzz      bzz
334    
335  /(?<!(foo)a)bar/  /(?<!(foo)a)bar/I
336      bar      bar
337      foobbar      foobbar
338      *** Failers      *** Failers
339      fooabar      fooabar
340    
341  /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
342    
343  /^(a)?(?(1)a|b)+$/  /^(a)?(?(1)a|b)+$/I
344      *** Failers      *** Failers
345      a      a
346    
347  /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
348    
349  /^(a\1?){4}$/  /^(a\1?){4}$/I
350      aaaaaa      aaaaaa
351    
352  /These are syntax tests from Perl 5.005/  /These are syntax tests from Perl 5.005/I
353    
354  /a[b-a]/  /a[b-a]/
355    
# Line 350  Line 375 
375    
376  /(a)|\2/  /(a)|\2/
377    
378  /a[b-a]/i  /a[b-a]/Ii
379    
380  /a[]b/i  /a[]b/Ii
381    
382  /a[/i  /a[/Ii
383    
384  /*a/i  /*a/Ii
385    
386  /(*)b/i  /(*)b/Ii
387    
388  /abc)/i  /abc)/Ii
389    
390  /(abc/i  /(abc/Ii
391    
392  /a**/i  /a**/Ii
393    
394  /)(/i  /)(/Ii
395    
396  /:(?:/  /:(?:/
397    
# Line 384  Line 409 
409    
410  /(?(1?)a|b)/  /(?(1?)a|b)/
411    
 /(?(1)a|b|c)/  
   
412  /[a[:xyz:/  /[a[:xyz:/
413    
414  /(?<=x+)y/  /(?<=x+)y/
# Line 398  Line 421 
421    
422  /abc/\i  /abc/\i
423    
424  /(a)bc(d)/  /(a)bc(d)/I
425      abcd      abcd
426      abcd\C2      abcd\C2
427      abcd\C5      abcd\C5
428    
429  /(.{20})/  /(.{20})/I
430      abcdefghijklmnopqrstuvwxyz      abcdefghijklmnopqrstuvwxyz
431      abcdefghijklmnopqrstuvwxyz\C1      abcdefghijklmnopqrstuvwxyz\C1
432      abcdefghijklmnopqrstuvwxyz\G1      abcdefghijklmnopqrstuvwxyz\G1
433    
434  /(.{15})/  /(.{15})/I
435      abcdefghijklmnopqrstuvwxyz      abcdefghijklmnopqrstuvwxyz
436      abcdefghijklmnopqrstuvwxyz\C1\G1      abcdefghijklmnopqrstuvwxyz\C1\G1
437    
438  /(.{16})/  /(.{16})/I
439      abcdefghijklmnopqrstuvwxyz      abcdefghijklmnopqrstuvwxyz
440      abcdefghijklmnopqrstuvwxyz\C1\G1\L      abcdefghijklmnopqrstuvwxyz\C1\G1\L
   
 /^(a|(bc))de(f)/  
     adef\G1\G2\G3\G4\L  
     bcdef\G1\G2\G3\G4\L  
     adefghijk\C0  
   
 /^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  
441    
442  /.*X/D  /^(a|(bc))de(f)/I
443        adef\G1\G2\G3\G4\L
444        bcdef\G1\G2\G3\G4\L
445        adefghijk\C0
446    
447  /.*X/Ds  /^abc\00def/I
448        abc\00def\L\C0
449    
450  /(.*X|^B)/D  /word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
451    )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
452    )?)?)?)?)?)?)?)?)?otherword/I
453    
454  /(.*X|^B)/Ds  /.*X/IDZ
455    
456  /(?s)(.*X|^B)/D  /.*X/IDZs
457    
458    /(.*X|^B)/IDZ
459    
460  /(?s:.*X|^B)/D  /(.*X|^B)/IDZs
461    
462  /\Biss\B/+  /(?s)(.*X|^B)/IDZ
463    
464    /(?s:.*X|^B)/IDZ
465    
466    /\Biss\B/I+
467      Mississippi      Mississippi
468    
469  /\Biss\B/+P  /\Biss\B/I+P
470      Mississippi      Mississippi
471    
472  /iss/G+  /iss/IG+
473      Mississippi      Mississippi
474    
475  /\Biss\B/G+  /\Biss\B/IG+
476      Mississippi      Mississippi
477    
478  /\Biss\B/g+  /\Biss\B/Ig+
479      Mississippi      Mississippi
480      *** Failers      *** Failers
481      Mississippi\A      Mississippi\A
482    
483  /(?<=[Ms])iss/g+  /(?<=[Ms])iss/Ig+
484      Mississippi      Mississippi
485    
486  /(?<=[Ms])iss/G+  /(?<=[Ms])iss/IG+
487      Mississippi      Mississippi
488    
489  /^iss/g+  /^iss/Ig+
490      ississippi      ississippi
   
 /.*iss/g+  
     abciss\nxyzisspqr  
491    
492  /.i./+g  /.*iss/Ig+
493        abciss\nxyzisspqr
494    
495    /.i./I+g
496      Mississippi      Mississippi
497      Mississippi\A      Mississippi\A
498      Missouri river      Missouri river
499      Missouri river\A      Missouri river\A
500    
501  /^.is/+g  /^.is/I+g
502      Mississippi      Mississippi
503    
504  /^ab\n/g+  /^ab\n/Ig+
505      ab\nab\ncd      ab\nab\ncd
506    
507  /^ab\n/mg+  /^ab\n/Img+
508      ab\nab\ncd      ab\nab\ncd
509    
510  /abc/  /abc/I
511    
512  /abc|bac/  /abc|bac/I
513    
514  /(abc|bac)/  /(abc|bac)/I
515    
516  /(abc|(c|dc))/  /(abc|(c|dc))/I
517    
518  /(abc|(d|de)c)/  /(abc|(d|de)c)/I
519    
520  /a*/  /a*/I
521    
522  /a+/  /a+/I
523    
524  /(baa|a+)/  /(baa|a+)/I
525    
526  /a{0,3}/  /a{0,3}/I
527    
528  /baa{3,}/  /baa{3,}/I
529    
530  /"([^\\"]+|\\.)*"/  /"([^\\"]+|\\.)*"/I
531    
532  /(abc|ab[cd])/  /(abc|ab[cd])/I
533    
534  /(a|.)/  /(a|.)/I
535    
536  /a|ba|\w/  /a|ba|\w/I
537    
538  /abc(?=pqr)/  /abc(?=pqr)/I
539    
540  /...(?<=abc)/  /...(?<=abc)/I
541    
542  /abc(?!pqr)/  /abc(?!pqr)/I
543    
544  /ab./  /ab./I
545    
546  /ab[xyz]/  /ab[xyz]/I
547    
548  /abc*/  /abc*/I
549    
550  /ab.c*/  /ab.c*/I
551    
552  /a.c*/  /a.c*/I
553    
554  /.c*/  /.c*/I
555    
556  /ac*/  /ac*/I
557    
558  /(a.c*|b.c*)/  /(a.c*|b.c*)/I
559    
560  /a.c*|aba/  /a.c*|aba/I
561    
562  /.+a/  /.+a/I
563    
564  /(?=abcda)a.*/  /(?=abcda)a.*/I
565    
566  /(?=a)a.*/  /(?=a)a.*/I
567    
568  /a(b)*/  /a(b)*/I
569    
570  /a\d*/  /a\d*/I
571    
572  /ab\d*/  /ab\d*/I
573    
574  /a(\d)*/  /a(\d)*/I
575    
576  /abcde{0,0}/  /abcde{0,0}/I
577    
578  /ab\d+/  /ab\d+/I
579    
580  /a(?(1)b)/  /a(?(1)b)(.)/I
581    
582  /a(?(1)bag|big)/  /a(?(1)bag|big)(.)/I
583    
584  /a(?(1)bag|big)*/  /a(?(1)bag|big)*(.)/I
585    
586  /a(?(1)bag|big)+/  /a(?(1)bag|big)+(.)/I
587    
588  /a(?(1)b..|b..)/  /a(?(1)b..|b..)(.)/I
589    
590  /ab\d{0}e/  /ab\d{0}e/I
591    
592  /a?b?/  /a?b?/I
593      a      a
594      b      b
595      ab      ab
596      \      \
597      *** Failers      *** Failers
598      \N      \N
599    
600  /|-/  /|-/I
601      abcd      abcd
602      -abc      -abc
603      \Nab-c      \Nab-c
604      *** Failers      *** Failers
605      \Nabc      \Nabc
606    
607  /a*(b+)(z)(z)/P  /a*(b+)(z)(z)/P
608      aaaabbbbzzzz      aaaabbbbzzzz
# Line 589  Line 612 
612      aaaabbbbzzzz\O3      aaaabbbbzzzz\O3
613      aaaabbbbzzzz\O4      aaaabbbbzzzz\O4
614      aaaabbbbzzzz\O5      aaaabbbbzzzz\O5
615    
616  /^.?abcd/S  /^.?abcd/IS
617    
618  /\(             # ( at start  /\(             # ( at start
619    (?:           # Non-capturing bracket    (?:           # Non-capturing bracket
# Line 599  Line 622 
622    (?R)          # Recurse - i.e. nested bracketed string    (?R)          # Recurse - i.e. nested bracketed string
623    )*            # Zero or more contents    )*            # Zero or more contents
624    \)            # Closing )    \)            # Closing )
625    /x    /Ix
626      (abcd)      (abcd)
627      (abcd)xyz      (abcd)xyz
628      xyz(abcd)      xyz(abcd)
629      (ab(xy)cd)pqr      (ab(xy)cd)pqr
630      (ab(xycd)pqr      (ab(xycd)pqr
631      () abc ()      () abc ()
632      12(abcde(fsh)xyz(foo(bar))lmno)89      12(abcde(fsh)xyz(foo(bar))lmno)89
633      *** Failers      *** Failers
634      abcd      abcd
635      abcd)      abcd)
636      (abcd      (abcd
637    
638  /\(  ( (?>[^()]+) | (?R) )* \) /xg  /\(  ( (?>[^()]+) | (?R) )* \) /Ixg
639      (ab(xy)cd)pqr      (ab(xy)cd)pqr
640      1(abcd)(x(y)z)pqr      1(abcd)(x(y)z)pqr
641    
642  /\(  (?: (?>[^()]+) | (?R) ) \) /x  /\(  (?: (?>[^()]+) | (?R) ) \) /Ix
643      (abcd)      (abcd)
644      (ab(xy)cd)      (ab(xy)cd)
645      (a(b(c)d)e)      (a(b(c)d)e)
646      ((ab))      ((ab))
647      *** Failers      *** Failers
648      ()      ()
649    
650  /\(  (?: (?>[^()]+) | (?R) )? \) /x  /\(  (?: (?>[^()]+) | (?R) )? \) /Ix
651      ()      ()
652      12(abcde(fsh)xyz(foo(bar))lmno)89      12(abcde(fsh)xyz(foo(bar))lmno)89
653    
654  /\(  ( (?>[^()]+) | (?R) )* \) /x  /\(  ( (?>[^()]+) | (?R) )* \) /Ix
655      (ab(xy)cd)      (ab(xy)cd)
656    
657  /\( ( ( (?>[^()]+) | (?R) )* ) \) /x  /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix
658      (ab(xy)cd)      (ab(xy)cd)
659    
660  /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /x  /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix
661      (ab(xy)cd)      (ab(xy)cd)
662      (123ab(xy)cd)      (123ab(xy)cd)
663    
664  /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /x  /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix
665      (ab(xy)cd)      (ab(xy)cd)
666      (123ab(xy)cd)      (123ab(xy)cd)
667    
668  /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /x  /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix
669      (ab(xy)cd)      (ab(xy)cd)
670    
671  /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /x  /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix
672      (abcd(xyz<p>qrs)123)      (abcd(xyz<p>qrs)123)
673    
674  /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /x  /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix
675      (ab(cd)ef)      (ab(cd)ef)
676      (ab(cd(ef)gh)ij)      (ab(cd(ef)gh)ij)
677    
678  /^[[:alnum:]]/D  /^[[:alnum:]]/DZ
679    
680    /^[[:^alnum:]]/DZ
681    
682    /^[[:alpha:]]/DZ
683    
684    /^[[:^alpha:]]/DZ
685    
686    /[_[:alpha:]]/IS
687    
688    /^[[:ascii:]]/DZ
689    
690  /^[[:alpha:]]/D  /^[[:^ascii:]]/DZ
   
 /^[[:ascii:]]/D  
691    
692  /^[[:cntrl:]]/D  /^[[:blank:]]/DZ
693    
694  /^[[:digit:]]/D  /^[[:^blank:]]/DZ
695    
696  /^[[:graph:]]/D  /[\n\x0b\x0c\x0d[:blank:]]/IS
697    
698  /^[[:lower:]]/D  /^[[:cntrl:]]/DZ
699    
700  /^[[:print:]]/D  /^[[:digit:]]/DZ
701    
702  /^[[:punct:]]/D  /^[[:graph:]]/DZ
703    
704  /^[[:space:]]/D  /^[[:lower:]]/DZ
705    
706  /^[[:upper:]]/D  /^[[:print:]]/DZ
707    
708  /^[[:xdigit:]]/D  /^[[:punct:]]/DZ
709    
710  /^[[:word:]]/D  /^[[:space:]]/DZ
711    
712  /^[[:^cntrl:]]/D  /^[[:upper:]]/DZ
713    
714  /^[12[:^digit:]]/D  /^[[:xdigit:]]/DZ
715    
716  /[01[:alpha:]%]/D  /^[[:word:]]/DZ
717    
718  /[[.ch.]]/  /^[[:^cntrl:]]/DZ
719    
720  /[[=ch=]]/  /^[12[:^digit:]]/DZ
721    
722  /[[:rhubarb:]]/  /^[[:^blank:]]/DZ
723    
724  /[[:upper:]]/i  /[01[:alpha:]%]/DZ
725    
726    /[[.ch.]]/I
727    
728    /[[=ch=]]/I
729    
730    /[[:rhubarb:]]/I
731    
732    /[[:upper:]]/Ii
733      A      A
734      a      a
735    
736  /[[:lower:]]/i  /[[:lower:]]/Ii
737      A      A
738      a      a
739    
740  /((?-i)[[:lower:]])[[:lower:]]/i  /((?-i)[[:lower:]])[[:lower:]]/Ii
741      ab      ab
742      aB      aB
743      *** Failers      *** Failers
744      Ab      Ab
745      AB      AB
746    
747    /[\200-\110]/I
748    
749    /^(?(0)f|b)oo/I
750    
751    /This one's here because of the large output vector needed/I
752    
753    /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\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
754        \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
755    
756    /This one's here because Perl does this differently and PCRE can't at present/I
757    
758    /(main(O)?)+/I
759        mainmain
760        mainOmain
761    
762    /These are all cases where Perl does it differently (nested captures)/I
763    
764    /^(a(b)?)+$/I
765        aba
766    
767    /^(aa(bb)?)+$/I
768        aabbaa
769    
770    /^(aa|aa(bb))+$/I
771        aabbaa
772    
773    /^(aa(bb)??)+$/I
774        aabbaa
775    
776    /^(?:aa(bb)?)+$/I
777        aabbaa
778    
779    /^(aa(b(b))?)+$/I
780        aabbaa
781    
782    /^(?:aa(b(b))?)+$/I
783        aabbaa
784    
785    /^(?:aa(b(?:b))?)+$/I
786        aabbaa
787    
788    /^(?:aa(bb(?:b))?)+$/I
789        aabbbaa
790    
791    /^(?:aa(b(?:bb))?)+$/I
792        aabbbaa
793    
794    /^(?:aa(?:b(b))?)+$/I
795        aabbaa
796    
797    /^(?:aa(?:b(bb))?)+$/I
798        aabbbaa
799    
800    /^(aa(b(bb))?)+$/I
801        aabbbaa
802    
803    /^(aa(bb(bb))?)+$/I
804        aabbbbaa
805    
806    /--------------------------------------------------------------------/I
807    
808    /#/IxDZ
809    
810    /a#/IxDZ
811    
812    /[\s]/DZ
813    
814    /[\S]/DZ
815    
816    /a(?i)b/DZ
817        ab
818        aB
819        *** Failers
820        AB
821    
822    /(a(?i)b)/DZ
823        ab
824        aB
825        *** Failers
826        AB
827    
828    /   (?i)abc/IxDZ
829    
830    /#this is a comment
831      (?i)abc/IxDZ
832    
833    /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
834    
835    /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
836    
837    /\Q\E/DZ
838        \
839    
840    /\Q\Ex/DZ
841    
842    / \Q\E/DZ
843    
844    /a\Q\E/DZ
845      abc
846      bca
847      bac
848    
849    /a\Q\Eb/DZ
850      abc
851    
852    /\Q\Eabc/DZ
853    
854    /x*+\w/DZ
855        *** Failers
856        xxxxx
857    
858    /x?+/DZ
859    
860    /x++/DZ
861    
862    /x{1,3}+/DZ
863    
864    /(x)*+/DZ
865    
866    /^(\w++|\s++)*$/I
867        now is the time for all good men to come to the aid of the party
868        *** Failers
869        this is not a line with only words and spaces!
870    
871    /(\d++)(\w)/I
872        12345a
873        *** Failers
874        12345+
875    
876    /a++b/I
877        aaab
878    
879    /(a++b)/I
880        aaab
881    
882    /(a++)b/I
883        aaab
884    
885    /([^()]++|\([^()]*\))+/I
886        ((abc(ade)ufh()()x
887    
888    /\(([^()]++|\([^()]+\))+\)/I
889        (abc)
890        (abc(def)xyz)
891        *** Failers
892        ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
893    
894    /(abc){1,3}+/DZ
895    
896    /a+?+/I
897    
898    /a{2,3}?+b/I
899    
900    /(?U)a+?+/I
901    
902    /a{2,3}?+b/IU
903    
904    /x(?U)a++b/DZ
905        xaaaab
906    
907    /(?U)xa++b/DZ
908        xaaaab
909    
910    /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/DZ
911    
912    /^x(?U)a+b/DZ
913    
914    /^x(?U)(a+)b/DZ
915    
916    /[.x.]/I
917    
918    /[=x=]/I
919    
920    /[:x:]/I
921    
922    /\l/I
923    
924    /\L/I
925    
926    /\N{name}/I
927    
928    /\u/I
929    
930    /\U/I
931    
932    /[/I
933    
934    /[a-/I
935    
936    /[[:space:]/I
937    
938    /[\s]/IDZ
939    
940    /[[:space:]]/IDZ
941    
942    /[[:space:]abcde]/IDZ
943    
944    /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/Ix
945        <>
946        <abcd>
947        <abc <123> hij>
948        <abc <def> hij>
949        <abc<>def>
950        <abc<>
951        *** Failers
952        <abc
953    
954    |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
955    
956    |\$\<\.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
957    
958    /(.*)\d+\1/I
959    
960    /(.*)\d+/I
961    
962    /(.*)\d+\1/Is
963    
964    /(.*)\d+/Is
965    
966    /(.*(xyz))\d+\2/I
967    
968    /((.*))\d+\1/I
969        abc123bc
970    
971    /a[b]/I
972    
973    /(?=a).*/I
974    
975    /(?=abc).xyz/IiI
976    
977    /(?=abc)(?i).xyz/I
978    
979    /(?=a)(?=b)/I
980    
981    /(?=.)a/I
982    
983    /((?=abcda)a)/I
984    
985    /((?=abcda)ab)/I
986    
987    /()a/I
988    
989    /(?(1)ab|ac)(.)/I
990    
991    /(?(1)abz|acz)(.)/I
992    
993    /(?(1)abz)(.)/I
994    
995    /(?(1)abz)(1)23/I
996    
997    /(a)+/I
998    
999    /(a){2,3}/I
1000    
1001    /(a)*/I
1002    
1003    /[a]/I
1004    
1005    /[ab]/I
1006    
1007    /[ab]/IS
1008    
1009    /[^a]/I
1010    
1011    /\d456/I
1012    
1013    /\d456/IS
1014    
1015    /a^b/I
1016    
1017    /^a/Im
1018      abcde
1019      xy\nabc
1020      *** Failers
1021      xyabc
1022    
1023    /c|abc/I
1024    
1025    /(?i)[ab]/IS
1026    
1027    /[ab](?i)cd/IS
1028    
1029    /abc(?C)def/I
1030        abcdef
1031        1234abcdef
1032        *** Failers
1033        abcxyz
1034        abcxyzf
1035    
1036    /abc(?C)de(?C1)f/I
1037        123abcdef
1038    
1039    /(?C1)\dabc(?C2)def/I
1040        1234abcdef
1041        *** Failers
1042        abcdef
1043    
1044    /(?C255)ab/I
1045    
1046    /(?C256)ab/I
1047    
1048    /(?Cab)xx/I
1049    
1050    /(?C12vr)x/I
1051    
1052    /abc(?C)def/I
1053        *** Failers
1054        \x83\x0\x61bcdef
1055    
1056    /(abc)(?C)de(?C1)f/I
1057        123abcdef
1058        123abcdef\C+
1059        123abcdef\C-
1060        *** Failers
1061        123abcdef\C!1
1062    
1063    /(?C0)(abc(?C1))*/I
1064        abcabcabc
1065        abcabc\C!1!3
1066        *** Failers
1067        abcabcabc\C!1!3
1068    
1069    /(\d{3}(?C))*/I
1070        123\C+
1071        123456\C+
1072        123456789\C+
1073    
1074    /((xyz)(?C)p|(?C1)xyzabc)/I
1075        xyzabc\C+
1076    
1077    /(X)((xyz)(?C)p|(?C1)xyzabc)/I
1078        Xxyzabc\C+
1079    
1080    /(?=(abc))(?C)abcdef/I
1081        abcdef\C+
1082    
1083    /(?!(abc)(?C1)d)(?C2)abcxyz/I
1084        abcxyz\C+
1085    
1086    /(?<=(abc)(?C))xyz/I
1087       abcxyz\C+
1088    
1089    /a(b+)(c*)(?C1)/I
1090        abbbbbccc\C*1
1091    
1092    /a(b+?)(c*?)(?C1)/I
1093        abbbbbccc\C*1
1094    
1095    /(?C)abc/I
1096    
1097    /(?C)^abc/I
1098    
1099    /(?C)a|b/IS
1100    
1101    /(?R)/I
1102    
1103    /(a|(?R))/I
1104    
1105    /(ab|(bc|(de|(?R))))/I
1106    
1107    /x(ab|(bc|(de|(?R))))/I
1108        xab
1109        xbc
1110        xde
1111        xxab
1112        xxxab
1113        *** Failers
1114        xyab
1115    
1116    /(ab|(bc|(de|(?1))))/I
1117    
1118    /x(ab|(bc|(de|(?1)x)x)x)/I
1119    
1120    /^([^()]|\((?1)*\))*$/I
1121        abc
1122        a(b)c
1123        a(b(c))d
1124        *** Failers)
1125        a(b(c)d
1126    
1127    /^>abc>([^()]|\((?1)*\))*<xyz<$/I
1128       >abc>123<xyz<
1129       >abc>1(2)3<xyz<
1130       >abc>(1(2)3)<xyz<
1131    
1132    /(a(?1)b)/DZ
1133    
1134    /(a(?1)+b)/DZ
1135    
1136    /^\W*(?:((.)\W*(?1)\W*\2|)|((.)\W*(?3)\W*\4|\W*.\W*))\W*$/Ii
1137        1221
1138        Satan, oscillate my metallic sonatas!
1139        A man, a plan, a canal: Panama!
1140        Able was I ere I saw Elba.
1141        *** Failers
1142        The quick brown fox
1143    
1144    /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I
1145        12
1146        (((2+2)*-3)-7)
1147        -12
1148        *** Failers
1149        ((2+2)*-3)-7)
1150    
1151    /^(x(y|(?1){2})z)/I
1152        xyz
1153        xxyzxyzz
1154        *** Failers
1155        xxyzz
1156        xxyzxyzxyzz
1157    
1158    /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/Ix
1159        <>
1160        <abcd>
1161        <abc <123> hij>
1162        <abc <def> hij>
1163        <abc<>def>
1164        <abc<>
1165        *** Failers
1166        <abc
1167    
1168    /(?1)/I
1169    
1170    /((?2)(abc)/I
1171    
1172    /^(abc)def(?1)/I
1173        abcdefabc
1174    
1175    /^(a|b|c)=(?1)+/I
1176        a=a
1177        a=b
1178        a=bc
1179    
1180    /^(a|b|c)=((?1))+/I
1181        a=a
1182        a=b
1183        a=bc
1184    
1185    /a(?P<name1>b|c)d(?P<longername2>e)/DZ
1186        abde
1187        acde
1188    
1189    /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/DZ
1190    
1191    /(?P<a>a)...(?P=a)bbb(?P>a)d/DZ
1192    
1193    /^\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
1194        1221
1195        Satan, oscillate my metallic sonatas!
1196        A man, a plan, a canal: Panama!
1197        Able was I ere I saw Elba.
1198        *** Failers
1199        The quick brown fox
1200    
1201    /((?(R)a|b))\1(?1)?/I
1202      bb
1203      bbaa
1204    
1205    /(.*)a/Is
1206    
1207    /(.*)a\1/Is
1208    
1209    /(.*)a(b)\2/Is
1210    
1211    /((.*)a|(.*)b)z/Is
1212    
1213    /((.*)a|(.*)b)z\1/Is
1214    
1215    /((.*)a|(.*)b)z\2/Is
1216    
1217    /((.*)a|(.*)b)z\3/Is
1218    
1219    /((.*)a|^(.*)b)z\3/Is
1220    
1221    /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is
1222    
1223    /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is
1224    
1225    /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is
1226    
1227    /(a)(bc)/INDZ
1228      abc
1229    
1230    /(?P<one>a)(bc)/INDZ
1231      abc
1232    
1233    /(a)(?P<named>bc)/INDZ
1234    
1235    /(a+)*zz/I
1236      aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzbbbbbb\M
1237      aaaaaaaaaaaaaz\M
1238    
1239    /(aaa(?C1)bbb|ab)/I
1240       aaabbb
1241       aaabbb\C*0
1242       aaabbb\C*1
1243       aaabbb\C*-1
1244    
1245    /ab(?P<one>cd)ef(?P<two>gh)/I
1246        abcdefgh
1247        abcdefgh\C1\Gtwo
1248        abcdefgh\Cone\Ctwo
1249        abcdefgh\Cthree
1250    
1251    /(?P<Tes>)(?P<Test>)/DZ
1252    
1253    /(?P<Test>)(?P<Tes>)/DZ
1254    
1255    /(?P<Z>zz)(?P<A>aa)/I
1256        zzaa\CZ
1257        zzaa\CA
1258    
1259    /(?P<x>eks)(?P<x>eccs)/I
1260    
1261    /(?P<abc>abc(?P<def>def)(?P<abc>xyz))/I
1262    
1263    "\[((?P<elem>\d+)(,(?P>elem))*)\]"I
1264        [10,20,30,5,5,4,4,2,43,23,4234]
1265        *** Failers
1266        []
1267    
1268    "\[((?P<elem>\d+)(,(?P>elem))*)?\]"I
1269        [10,20,30,5,5,4,4,2,43,23,4234]
1270        []
1271    
1272    /(a(b(?2)c))?/DZ
1273    
1274    /(a(b(?2)c))*/DZ
1275    
1276    /(a(b(?2)c)){0,2}/DZ
1277    
1278    /[ab]{1}+/DZ
1279    
1280    /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii
1281         Baby Bjorn Active Carrier - With free SHIPPING!!
1282    
1283    /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS
1284         Baby Bjorn Active Carrier - With free SHIPPING!!
1285    
1286    /a*.*b/ISDZ
1287    
1288    /(a|b)*.?c/ISDZ
1289    
1290    /abc(?C255)de(?C)f/DZ
1291    
1292    /abcde/ICDZ
1293      abcde
1294      abcdfe
1295    
1296    /a*b/ICDZ
1297      ab
1298      aaaab
1299      aaaacb
1300    
1301    /a+b/ICDZ
1302      ab
1303      aaaab
1304      aaaacb
1305    
1306    /(abc|def)x/ICDZ
1307      abcx
1308      defx
1309      abcdefzx
1310    
1311    /(ab|cd){3,4}/IC
1312      ababab
1313      abcdabcd
1314      abcdcdcdcdcd
1315    
1316    /([ab]{,4}c|xy)/ICDZ
1317        Note: that { does NOT introduce a quantifier
1318    
1319    /([ab]{1,4}c|xy){4,5}?123/ICDZ
1320        aacaacaacaacaac123
1321    
1322    /\b.*/I
1323      ab cd\>1
1324    
1325    /\b.*/Is
1326      ab cd\>1
1327    
1328    /(?!.bcd).*/I
1329      Xbcd12345
1330    
1331    /abcde/I
1332        ab\P
1333        abc\P
1334        abcd\P
1335        abcde\P
1336        the quick brown abc\P
1337        ** Failers\P
1338        the quick brown abxyz fox\P
1339    
1340    "^(0?[1-9]|[12][0-9]|3[01])/(0?[1-9]|1[012])/(20)?\d\d$"I
1341        13/05/04\P
1342        13/5/2004\P
1343        02/05/09\P
1344        1\P
1345        1/2\P
1346        1/2/0\P
1347        1/2/04\P
1348        0\P
1349        02/\P
1350        02/0\P
1351        02/1\P
1352        ** Failers\P
1353        \P
1354        123\P
1355        33/4/04\P
1356        3/13/04\P
1357        0/1/2003\P
1358        0/\P
1359        02/0/\P
1360        02/13\P
1361    
1362    /0{0,2}ABC/I
1363    
1364    /\d{3,}ABC/I
1365    
1366    /\d*ABC/I
1367    
1368    /[abc]+DE/I
1369    
1370    /[abc]?123/I
1371        123\P
1372        a\P
1373        b\P
1374        c\P
1375        c12\P
1376        c123\P
1377    
1378    /^(?:\d){3,5}X/I
1379        1\P
1380        123\P
1381        123X
1382        1234\P
1383        1234X
1384        12345\P
1385        12345X
1386        *** Failers
1387        1X
1388        123456\P
1389    
1390    /abc/I>testsavedregex
1391    <testsavedregex
1392        abc
1393        ** Failers
1394        bca
1395    
1396    /abc/IF>testsavedregex
1397    <testsavedregex
1398        abc
1399        ** Failers
1400        bca
1401    
1402    /(a|b)/IS>testsavedregex
1403    <testsavedregex
1404        abc
1405        ** Failers
1406        def
1407    
1408    /(a|b)/ISF>testsavedregex
1409    <testsavedregex
1410        abc
1411        ** Failers
1412        def
1413    
1414    ~<(\w+)/?>(.)*</(\1)>~smgI
1415        <!DOCTYPE seite SYSTEM "http://www.lco.lineas.de/xmlCms.dtd">\n<seite>\n<dokumenteninformation>\n<seitentitel>Partner der LCO</seitentitel>\n<sprache>de</sprache>\n<seitenbeschreibung>Partner der LINEAS Consulting\nGmbH</seitenbeschreibung>\n<schluesselworte>LINEAS Consulting GmbH Hamburg\nPartnerfirmen</schluesselworte>\n<revisit>30 days</revisit>\n<robots>index,follow</robots>\n<menueinformation>\n<aktiv>ja</aktiv>\n<menueposition>3</menueposition>\n<menuetext>Partner</menuetext>\n</menueinformation>\n<lastedited>\n<autor>LCO</autor>\n<firma>LINEAS Consulting</firma>\n<datum>15.10.2003</datum>\n</lastedited>\n</dokumenteninformation>\n<inhalt>\n\n<absatzueberschrift>Die Partnerfirmen der LINEAS Consulting\nGmbH</absatzueberschrift>\n\n<absatz><link ziel="http://www.ca.com/" zielfenster="_blank">\n<bild name="logo_ca.gif" rahmen="no"/></link> <link\nziel="http://www.ey.com/" zielfenster="_blank"><bild\nname="logo_euy.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><link ziel="http://www.cisco.de/" zielfenster="_blank">\n<bild name="logo_cisco.gif" rahmen="ja"/></link></absatz>\n\n<absatz><link ziel="http://www.atelion.de/"\nzielfenster="_blank"><bild\nname="logo_atelion.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><link ziel="http://www.line-information.de/"\nzielfenster="_blank">\n<bild name="logo_line_information.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><bild name="logo_aw.gif" rahmen="no"/></absatz>\n\n<absatz><link ziel="http://www.incognis.de/"\nzielfenster="_blank"><bild\nname="logo_incognis.gif" rahmen="no"/></link></absatz>\n\n<absatz><link ziel="http://www.addcraft.com/"\nzielfenster="_blank"><bild\nname="logo_addcraft.gif" rahmen="no"/></link></absatz>\n\n<absatz><link ziel="http://www.comendo.com/"\nzielfenster="_blank"><bild\nname="logo_comendo.gif" rahmen="no"/></link></absatz>\n\n</inhalt>\n</seite>
1416    
1417    /^a/IF
1418    
1419    /line\nbreak/I
1420        this is a line\nbreak
1421        line one\nthis is a line\nbreak in the second line
1422    
1423    /line\nbreak/If
1424        this is a line\nbreak
1425        ** Failers
1426        line one\nthis is a line\nbreak in the second line
1427    
1428    /line\nbreak/Imf
1429        this is a line\nbreak
1430        ** Failers
1431        line one\nthis is a line\nbreak in the second line
1432    
1433    /ab.cd/P
1434        ab-cd
1435        ab=cd
1436        ** Failers
1437        ab\ncd
1438    
1439    /ab.cd/Ps
1440        ab-cd
1441        ab=cd
1442        ab\ncd
1443    
1444    /(?i)(?-i)AbCd/I
1445        AbCd
1446        ** Failers
1447        abcd
1448    
1449    /a{11111111111111111111}/I
1450    
1451    /(){64294967295}/I
1452    
1453    /(){2,4294967295}/I
1454    
1455    "(?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
1456        abcdefghijklAkB
1457    
1458    "(?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
1459        abcdefghijklAkB
1460    
1461    "(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)A\11B"I
1462        abcdefghijklAkB
1463    
1464    "(?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
1465        aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1466    
1467    "(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
1468        aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1469    
1470    /[^()]*(?:\((?R)\)[^()]*)*/I
1471        (this(and)that
1472        (this(and)that)
1473        (this(and)that)stuff
1474    
1475    /[^()]*(?:\((?>(?R))\)[^()]*)*/I
1476        (this(and)that
1477        (this(and)that)
1478    
1479    /[^()]*(?:\((?R)\))*[^()]*/I
1480        (this(and)that
1481        (this(and)that)
1482    
1483    /(?:\((?R)\))*[^()]*/I
1484        (this(and)that
1485        (this(and)that)
1486        ((this))
1487    
1488    /(?:\((?R)\))|[^()]*/I
1489        (this(and)that
1490        (this(and)that)
1491        (this)
1492        ((this))
1493    
1494    /a(b)c/PN
1495        abc
1496    
1497    /a(?P<name>b)c/PN
1498        abc
1499    
1500    /\x{100}/I
1501    
1502    /\x{0000ff}/I
1503    
1504    /^((?P<A>a1)|(?P<A>a2)b)/I
1505    
1506    /^((?P<A>a1)|(?P<A>a2)b)/IJ
1507        a1b\CA
1508        a2b\CA
1509        ** Failers
1510        a1b\CZ\CA
1511    
1512    /^(?P<A>a)(?P<A>b)/IJ
1513        ab\CA
1514    
1515    /^(?P<A>a)(?P<A>b)|cd/IJ
1516        ab\CA
1517        cd\CA
1518    
1519    /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ
1520        cdefgh\CA
1521    
1522    /^((?P<A>a1)|(?P<A>a2)b)/IJ
1523        a1b\GA
1524        a2b\GA
1525        ** Failers
1526        a1b\GZ\GA
1527    
1528    /^(?P<A>a)(?P<A>b)/IJ
1529        ab\GA
1530    
1531    /^(?P<A>a)(?P<A>b)|cd/IJ
1532        ab\GA
1533        cd\GA
1534    
1535    /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ
1536        cdefgh\GA
1537    
1538    /(?J)^((?P<A>a1)|(?P<A>a2)b)/I
1539        a1b\CA
1540        a2b\CA
1541    
1542    /^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<A>d)/I
1543    
1544    / In this next test, J is not set at the outer level; consequently it isn't
1545    set in the pattern's options; consequently pcre_get_named_substring() produces
1546    a random value. /Ix
1547    
1548    /^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<C>d)/I
1549        a bc d\CA\CB\CC
1550    
1551    /^(?P<A>a)?(?(A)a|b)/I
1552        aabc
1553        bc
1554        ** Failers
1555        abc
1556    
1557    /(?:(?(ZZ)a|b)(?P<ZZ>X))+/I
1558        bXaX
1559    
1560    /(?:(?(2y)a|b)(X))+/I
1561    
1562    /(?:(?(ZA)a|b)(?P<ZZ>X))+/I
1563    
1564    /(?:(?(ZZ)a|b)(?(ZZ)a|b)(?P<ZZ>X))+/I
1565        bbXaaX
1566    
1567    /(?:(?(ZZ)a|\(b\))\\(?P<ZZ>X))+/I
1568        (b)\\Xa\\X
1569    
1570    /(?P<ABC/I
1571    
1572    /(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I
1573        bXXaYYaY
1574        bXYaXXaX
1575    
1576    /()()()()()()()()()(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I
1577        bXXaYYaY
1578    
1579    /\777/I
1580    
1581    /\s*,\s*/IS
1582        \x0b,\x0b
1583        \x0c,\x0d
1584    
1585    /^abc/Im
1586        xyz\nabc
1587        xyz\nabc\<lf>
1588        xyz\r\nabc\<lf>
1589        xyz\rabc\<cr>
1590        xyz\r\nabc\<crlf>
1591        ** Failers
1592        xyz\nabc\<cr>
1593        xyz\r\nabc\<cr>
1594        xyz\nabc\<crlf>
1595        xyz\rabc\<crlf>
1596        xyz\rabc\<lf>
1597    
1598    /abc$/Im<lf>
1599        xyzabc
1600        xyzabc\n
1601        xyzabc\npqr
1602        xyzabc\r\<cr>
1603        xyzabc\rpqr\<cr>
1604        xyzabc\r\n\<crlf>
1605        xyzabc\r\npqr\<crlf>
1606        ** Failers
1607        xyzabc\r
1608        xyzabc\rpqr
1609        xyzabc\r\n
1610        xyzabc\r\npqr
1611    
1612    /^abc/Im<cr>
1613        xyz\rabcdef
1614        xyz\nabcdef\<lf>
1615        ** Failers
1616        xyz\nabcdef
1617    
1618    /^abc/Im<lf>
1619        xyz\nabcdef
1620        xyz\rabcdef\<cr>
1621        ** Failers
1622        xyz\rabcdef
1623    
1624    /^abc/Im<crlf>
1625        xyz\r\nabcdef
1626        xyz\rabcdef\<cr>
1627        ** Failers
1628        xyz\rabcdef
1629    
1630    /^abc/Im<bad>
1631    
1632    /abc/I
1633        xyz\rabc\<bad>
1634        abc
1635    
1636    /.*/I<lf>
1637        abc\ndef
1638        abc\rdef
1639        abc\r\ndef
1640        \<cr>abc\ndef
1641        \<cr>abc\rdef
1642        \<cr>abc\r\ndef
1643        \<crlf>abc\ndef
1644        \<crlf>abc\rdef
1645        \<crlf>abc\r\ndef
1646    
1647    /\w+(.)(.)?def/Is
1648        abc\ndef
1649        abc\rdef
1650        abc\r\ndef
1651    
1652    +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I
1653       /* this is a C style comment */\M
1654    
1655    /(?P<B>25[0-5]|2[0-4]\d|[01]?\d?\d)(?:\.(?P>B)){3}/I
1656    
1657    /()()()()()()()()()()()()()()()()()()()()
1658     ()()()()()()()()()()()()()()()()()()()()
1659     ()()()()()()()()()()()()()()()()()()()()
1660     ()()()()()()()()()()()()()()()()()()()()
1661     ()()()()()()()()()()()()()()()()()()()()
1662     (.(.))/Ix
1663        XY\O400
1664    
1665    /(a*b|(?i:c*(?-i)d))/IS
1666    
1667    /()[ab]xyz/IS
1668    
1669    /(|)[ab]xyz/IS
1670    
1671    /(|c)[ab]xyz/IS
1672    
1673    /(|c?)[ab]xyz/IS
1674    
1675    /(d?|c?)[ab]xyz/IS
1676    
1677    /(d?|c)[ab]xyz/IS
1678    
1679    /^a*b\d/DZ
1680    
1681    /^a*+b\d/DZ
1682    
1683    /^a*?b\d/DZ
1684    
1685    /^a+A\d/DZ
1686        aaaA5
1687        ** Failers
1688        aaaa5
1689    
1690    /^a*A\d/IiDZ
1691        aaaA5
1692        aaaa5
1693    
1694    /(a*|b*)[cd]/IS
1695    
1696    /(a+|b*)[cd]/IS
1697    
1698    /(a*|b+)[cd]/IS
1699    
1700    /(a+|b+)[cd]/IS
1701    
1702    /((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
1703     ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
1704     (((
1705     a
1706     ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
1707     ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
1708     )))
1709    /Ix
1710      large nest
1711    
1712    /a*\d/BZ
1713    
1714    /a*\D/BZ
1715    
1716    /0*\d/BZ
1717    
1718    /0*\D/BZ
1719    
1720    /a*\s/BZ
1721    
1722    /a*\S/BZ
1723    
1724    / *\s/BZ
1725    
1726    / *\S/BZ
1727    
1728    /a*\w/BZ
1729    
1730    /a*\W/BZ
1731    
1732    /=*\w/BZ
1733    
1734    /=*\W/BZ
1735    
1736    /\d*a/BZ
1737    
1738    /\d*2/BZ
1739    
1740    /\d*\d/BZ
1741    
1742    /\d*\D/BZ
1743    
1744    /\d*\s/BZ
1745    
1746    /\d*\S/BZ
1747    
1748    /\d*\w/BZ
1749    
1750    /\d*\W/BZ
1751    
1752    /\D*a/BZ
1753    
1754    /\D*2/BZ
1755    
1756    /\D*\d/BZ
1757    
1758    /\D*\D/BZ
1759    
1760    /\D*\s/BZ
1761    
1762    /\D*\S/BZ
1763    
1764    /\D*\w/BZ
1765    
1766    /\D*\W/BZ
1767    
1768    /\s*a/BZ
1769    
1770    /\s*2/BZ
1771    
1772    /\s*\d/BZ
1773    
1774    /\s*\D/BZ
1775    
1776    /\s*\s/BZ
1777    
1778    /\s*\S/BZ
1779    
1780    /\s*\w/BZ
1781    
1782    /\s*\W/BZ
1783    
1784    /\S*a/BZ
1785    
1786    /\S*2/BZ
1787    
1788    /\S*\d/BZ
1789    
1790    /\S*\D/BZ
1791    
1792    /\S*\s/BZ
1793    
1794    /\S*\S/BZ
1795    
1796    /\S*\w/BZ
1797    
1798    /\S*\W/BZ
1799    
1800    /\w*a/BZ
1801    
1802    /\w*2/BZ
1803    
1804    /\w*\d/BZ
1805    
1806    /\w*\D/BZ
1807    
1808    /\w*\s/BZ
1809    
1810    /\w*\S/BZ
1811    
1812    /\w*\w/BZ
1813    
1814    /\w*\W/BZ
1815    
1816    /\W*a/BZ
1817    
1818    /\W*2/BZ
1819    
1820    /\W*\d/BZ
1821    
1822    /\W*\D/BZ
1823    
1824    /\W*\s/BZ
1825    
1826    /\W*\S/BZ
1827    
1828    /\W*\w/BZ
1829    
1830    /\W*\W/BZ
1831    
1832    /[^a]+a/BZ
1833    
1834    /[^a]+a/BZi
1835    
1836    /[^a]+A/BZi
1837    
1838    /[^a]+b/BZ
1839    
1840    /[^a]+\d/BZ
1841    
1842    /a*[^a]/BZ
1843    
1844    /(?P<abc>x)(?P<xyz>y)/I
1845        xy\Cabc\Cxyz
1846    
1847    /(?<abc>x)(?'xyz'y)/I
1848        xy\Cabc\Cxyz
1849    
1850    /(?<abc'x)(?'xyz'y)/I
1851    
1852    /(?<abc>x)(?'xyz>y)/I
1853    
1854    /(?P'abc'x)(?P<xyz>y)/I
1855    
1856    /^(?:(?(ZZ)a|b)(?<ZZ>X))+/
1857        bXaX
1858        bXbX
1859        ** Failers
1860        aXaX
1861        aXbX
1862    
1863    /^(?P>abc)(?<abcd>xxx)/
1864    
1865    /^(?P>abc)(?<abc>x|y)/
1866        xx
1867        xy
1868        yy
1869        yx
1870    
1871    /^(?P>abc)(?P<abc>x|y)/
1872        xx
1873        xy
1874        yy
1875        yx
1876    
1877    /^((?(abc)a|b)(?<abc>x|y))+/
1878        bxay
1879        bxby
1880        ** Failers
1881        axby
1882    
1883    /^(((?P=abc)|X)(?<abc>x|y))+/
1884        XxXxxx
1885        XxXyyx
1886        XxXyxx
1887        ** Failers
1888        x
1889    
1890    /^(?1)(abc)/
1891        abcabc
1892    
1893    /^(?:(?:\1|X)(a|b))+/
1894        Xaaa
1895        Xaba
1896    
1897    /^[\E\Qa\E-\Qz\E]+/BZ
1898    
1899    /^[a\Q]bc\E]/BZ
1900    
1901    /^[a-\Q\E]/BZ
1902    
1903    /^(?P>abc)[()](?<abc>)/BZ
1904    
1905    /^((?(abc)y)[()](?P<abc>x))+/BZ
1906        (xy)x
1907    
1908    /^(?P>abc)\Q()\E(?<abc>)/BZ
1909    
1910    /^(?P>abc)[a\Q(]\E(](?<abc>)/BZ
1911    
1912    /^(?P>abc) # this is (a comment)
1913      (?<abc>)/BZx
1914    
1915    /^\W*(?:(?<one>(?<two>.)\W*(?&one)\W*\k<two>|)|(?<three>(?<four>.)\W*(?&three)\W*\k'four'|\W*.\W*))\W*$/Ii
1916        1221
1917        Satan, oscillate my metallic sonatas!
1918        A man, a plan, a canal: Panama!
1919        Able was I ere I saw Elba.
1920        *** Failers
1921        The quick brown fox
1922    
1923    /(?=(\w+))\1:/I
1924        abcd:
1925    
1926    /(?=(?'abc'\w+))\k<abc>:/I
1927        abcd:
1928    
1929    /(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J
1930        adaa
1931        ** Failers
1932        addd
1933        adbb
1934    
1935    /(?'abc'a|b)(?<abc>d|e)(?&abc){2}/J
1936        bdaa
1937        bdab
1938        ** Failers
1939        bddd
1940    
1941    /(?(<bc))/
1942    
1943    /(?(''))/
1944    
1945    /(?('R')stuff)/
1946    
1947    /((abc (?(R) (?(R1)1) (?(R2)2) X  |  (?1)  (?2)   (?R) ))) /x
1948        abcabc1Xabc2XabcXabcabc
1949    
1950    /(?<A> (?'B' abc (?(R) (?(R&A)1) (?(R&B)2) X  |  (?1)  (?2)   (?R) ))) /x
1951        abcabc1Xabc2XabcXabcabc
1952    
1953    /(?<A> (?'B' abc (?(R) (?(R&1)1) (?(R&B)2) X  |  (?1)  (?2)   (?R) ))) /x
1954    
1955    /(?<1> (?'B' abc (?(R) (?(R&1)1) (?(R&B)2) X  |  (?1)  (?2)   (?R) ))) /x
1956        abcabc1Xabc2XabcXabcabc
1957    
1958    /^(?(DEFINE) abc | xyz ) /x
1959    
1960    /(?(DEFINE) abc) xyz/xI
1961    
1962    /(?(DEFINE) abc){3} xyz/x
1963    
1964    /(a|)*\d/
1965      \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1966      \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
1967    
1968    /^a.b/<lf>
1969        a\rb
1970        a\nb\<cr>
1971        a\x85b\<anycrlf>
1972        ** Failers
1973        a\nb
1974        a\nb\<any>
1975        a\rb\<cr>
1976        a\rb\<any>
1977        a\x85b\<any>
1978        a\rb\<anycrlf>
1979    
1980    /^abc./mgx<any>
1981        abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x85abc7 JUNK
1982    
1983    /abc.$/mgx<any>
1984        abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc7 abc9
1985    
1986    /a/<cr><any>
1987    
1988    /a/<any><crlf>
1989    
1990    /^a\Rb/<bsr_unicode>
1991        a\nb
1992        a\rb
1993        a\r\nb
1994        a\x0bb
1995        a\x0cb
1996        a\x85b
1997        ** Failers
1998        a\n\rb
1999    
2000    /^a\R*b/<bsr_unicode>
2001        ab
2002        a\nb
2003        a\rb
2004        a\r\nb
2005        a\x0bb
2006        a\x0cb
2007        a\x85b
2008        a\n\rb
2009        a\n\r\x85\x0cb
2010    
2011    /^a\R+b/<bsr_unicode>
2012        a\nb
2013        a\rb
2014        a\r\nb
2015        a\x0bb
2016        a\x0cb
2017        a\x85b
2018        a\n\rb
2019        a\n\r\x85\x0cb
2020        ** Failers
2021        ab
2022    
2023    /^a\R{1,3}b/<bsr_unicode>
2024        a\nb
2025        a\n\rb
2026        a\n\r\x85b
2027        a\r\n\r\nb
2028        a\r\n\r\n\r\nb
2029        a\n\r\n\rb
2030        a\n\n\r\nb
2031        ** Failers
2032        a\n\n\n\rb
2033        a\r
2034    
2035    /^a[\R]b/<bsr_unicode>
2036        aRb
2037        ** Failers
2038        a\nb
2039    
2040    /(?&abc)X(?<abc>P)/I
2041        abcPXP123
2042    
2043    /(?1)X(?<abc>P)/I
2044        abcPXP123
2045    
2046    /(?:a(?&abc)b)*(?<abc>x)/
2047        123axbaxbaxbx456
2048        123axbaxbaxb456
2049    
2050    /(?:a(?&abc)b){1,5}(?<abc>x)/
2051        123axbaxbaxbx456
2052    
2053    /(?:a(?&abc)b){2,5}(?<abc>x)/
2054        123axbaxbaxbx456
2055    
2056    /(?:a(?&abc)b){2,}(?<abc>x)/
2057        123axbaxbaxbx456
2058    
2059    /(abc)(?i:(?1))/
2060       defabcabcxyz
2061       DEFabcABCXYZ
2062    
2063    /(abc)(?:(?i)(?1))/
2064       defabcabcxyz
2065       DEFabcABCXYZ
2066    
2067    /^(a)\g-2/
2068    
2069    /^(a)\g/
2070    
2071    /^(a)\g{0}/
2072    
2073    /^(a)\g{3/
2074    
2075    /^(a)\g{4a}/
2076    
2077    /^a.b/<lf>
2078        a\rb
2079        *** Failers
2080        a\nb
2081    
2082    /.+foo/
2083        afoo
2084        ** Failers
2085        \r\nfoo
2086        \nfoo
2087    
2088    /.+foo/<crlf>
2089        afoo
2090        \nfoo
2091        ** Failers
2092        \r\nfoo
2093    
2094    /.+foo/<any>
2095        afoo
2096        ** Failers
2097        \nfoo
2098        \r\nfoo
2099    
2100    /.+foo/s
2101        afoo
2102        \r\nfoo
2103        \nfoo
2104    
2105    /^$/mg<any>
2106        abc\r\rxyz
2107        abc\n\rxyz
2108        ** Failers
2109        abc\r\nxyz
2110    
2111    /(?m)^$/<any>g+
2112        abc\r\n\r\n
2113    
2114    /(?m)^$|^\r\n/<any>g+
2115        abc\r\n\r\n
2116    
2117    /(?m)$/<any>g+
2118        abc\r\n\r\n
2119    
2120    /abc.$/mgx<anycrlf>
2121        abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc9
2122    
2123    /^X/m
2124        XABC
2125        ** Failers
2126        XABC\B
2127    
2128    /(ab|c)(?-1)/BZ
2129        abc
2130    
2131    /xy(?+1)(abc)/BZ
2132        xyabcabc
2133        ** Failers
2134        xyabc
2135    
2136    /x(?-0)y/
2137    
2138    /x(?-1)y/
2139    
2140    /x(?+0)y/
2141    
2142    /x(?+1)y/
2143    
2144    /^(abc)?(?(-1)X|Y)/BZ
2145        abcX
2146        Y
2147        ** Failers
2148        abcY
2149    
2150    /^((?(+1)X|Y)(abc))+/BZ
2151        YabcXabc
2152        YabcXabcXabc
2153        ** Failers
2154        XabcXabc
2155    
2156    /(?(-1)a)/BZ
2157    
2158    /((?(-1)a))/BZ
2159    
2160    /((?(-2)a))/BZ
2161    
2162    /^(?(+1)X|Y)(.)/BZ
2163        Y!
2164    
2165    /(?<A>tom|bon)-\k{A}/
2166        tom-tom
2167        bon-bon
2168        ** Failers
2169        tom-bon
2170    
2171    /\g{A/
2172    
2173    /(?|(abc)|(xyz))/BZ
2174       >abc<
2175       >xyz<
2176    
2177    /(x)(?|(abc)|(xyz))(x)/BZ
2178        xabcx
2179        xxyzx
2180    
2181    /(x)(?|(abc)(pqr)|(xyz))(x)/BZ
2182        xabcpqrx
2183        xxyzx
2184    
2185    /[\h]/BZ
2186        >\x09<
2187    
2188    /[\h]+/BZ
2189        >\x09\x20\xa0<
2190    
2191    /[\v]/BZ
2192    
2193    /[\H]/BZ
2194    
2195    /[^\h]/BZ
2196    
2197    /[\V]/BZ
2198    
2199    /[\x0a\V]/BZ
2200    
2201    /\H++X/BZ
2202        ** Failers
2203        XXXX
2204    
2205    /\H+\hY/BZ
2206        XXXX Y
2207    
2208    /\H+ Y/BZ
2209    
2210    /\h+A/BZ
2211    
2212    /\v*B/BZ
2213    
2214    /\V+\x0a/BZ
2215    
2216    /A+\h/BZ
2217    
2218    / *\H/BZ
2219    
2220    /A*\v/BZ
2221    
2222    /\x0b*\V/BZ
2223    
2224    /\d+\h/BZ
2225    
2226    /\d*\v/BZ
2227    
2228    /S+\h\S+\v/BZ
2229    
2230    /\w{3,}\h\w+\v/BZ
2231    
2232    /\h+\d\h+\w\h+\S\h+\H/BZ
2233    
2234    /\v+\d\v+\w\v+\S\v+\V/BZ
2235    
2236    /\H+\h\H+\d/BZ
2237    
2238    /\V+\v\V+\w/BZ
2239    
2240    /\( (?: [^()]* | (?R) )* \)/x
2241    (0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(00)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)
2242    
2243    /[\E]AAA/
2244    
2245    /[\Q\E]AAA/
2246    
2247    /[^\E]AAA/
2248    
2249    /[^\Q\E]AAA/
2250    
2251    /[\E^]AAA/
2252    
2253    /[\Q\E^]AAA/
2254    
2255    /A(*PRUNE)B(*SKIP)C(*THEN)D(*COMMIT)E(*F)F(*FAIL)G(?!)H(*ACCEPT)I/BZ
2256    
2257    /^a+(*FAIL)/C
2258        aaaaaa
2259    
2260    /a+b?c+(*FAIL)/C
2261        aaabccc
2262    
2263    /a+b?(*PRUNE)c+(*FAIL)/C
2264        aaabccc
2265    
2266    /a+b?(*COMMIT)c+(*FAIL)/C
2267        aaabccc
2268    
2269    /a+b?(*SKIP)c+(*FAIL)/C
2270        aaabcccaaabccc
2271    
2272    /a+b?(*THEN)c+(*FAIL)/C
2273        aaabccc
2274    
2275    /a(*PRUNE:XXX)b/
2276    
2277    /a(*MARK)b/
2278    
2279    /(?i:A{1,}\6666666666)/
2280    
2281    /\g6666666666/
2282    
2283    /[\g6666666666]/
2284    
2285    /(?1)\c[/
2286    
2287    /.+A/<crlf>
2288        \r\nA
2289    
2290    /\nA/<crlf>
2291        \r\nA
2292    
2293    /[\r\n]A/<crlf>
2294        \r\nA
2295    
2296    /(\r|\n)A/<crlf>
2297        \r\nA
2298    
2299    /a(*CR)b/
2300    
2301    /(*CR)a.b/
2302        a\nb
2303        ** Failers
2304        a\rb
2305    
2306    /(*CR)a.b/<lf>
2307        a\nb
2308        ** Failers
2309        a\rb
2310    
2311    /(*LF)a.b/<CRLF>
2312        a\rb
2313        ** Failers
2314        a\nb
2315    
2316    /(*CRLF)a.b/
2317        a\rb
2318        a\nb
2319        ** Failers
2320        a\r\nb
2321    
2322    /(*ANYCRLF)a.b/<CR>
2323        ** Failers
2324        a\rb
2325        a\nb
2326        a\r\nb
2327    
2328    /(*ANY)a.b/<cr>
2329        ** Failers
2330        a\rb
2331        a\nb
2332        a\r\nb
2333        a\x85b
2334    
2335    /a\Rb/I<bsr_anycrlf>
2336        a\rb
2337        a\nb
2338        a\r\nb
2339        ** Failers
2340        a\x85b
2341        a\x0bb
2342    
2343    /a\Rb/I<bsr_unicode>
2344        a\rb
2345        a\nb
2346        a\r\nb
2347        a\x85b
2348        a\x0bb
2349        ** Failers
2350        a\x85b\<bsr_anycrlf>
2351        a\x0bb\<bsr_anycrlf>
2352    
2353    /a\R?b/I<bsr_anycrlf>
2354        a\rb
2355        a\nb
2356        a\r\nb
2357        ** Failers
2358        a\x85b
2359        a\x0bb
2360    
2361    /a\R?b/I<bsr_unicode>
2362        a\rb
2363        a\nb
2364        a\r\nb
2365        a\x85b
2366        a\x0bb
2367        ** Failers
2368        a\x85b\<bsr_anycrlf>
2369        a\x0bb\<bsr_anycrlf>
2370    
2371    /a\R{2,4}b/I<bsr_anycrlf>
2372        a\r\n\nb
2373        a\n\r\rb
2374        a\r\n\r\n\r\n\r\nb
2375        ** Failers
2376        a\x85\85b
2377        a\x0b\0bb
2378    
2379    /a\R{2,4}b/I<bsr_unicode>
2380        a\r\rb
2381        a\n\n\nb
2382        a\r\n\n\r\rb
2383        a\x85\85b
2384        a\x0b\0bb
2385        ** Failers
2386        a\r\r\r\r\rb
2387        a\x85\85b\<bsr_anycrlf>
2388        a\x0b\0bb\<bsr_anycrlf>
2389    
2390    /(*BSR_ANYCRLF)a\Rb/I
2391        a\nb
2392        a\rb
2393    
2394    /(*BSR_UNICODE)a\Rb/I
2395        a\x85b
2396    
2397    /(*BSR_ANYCRLF)(*CRLF)a\Rb/I
2398        a\nb
2399        a\rb
2400    
2401    /(*CRLF)(*BSR_UNICODE)a\Rb/I
2402        a\x85b
2403    
2404    /(*CRLF)(*BSR_ANYCRLF)(*CR)ab/I
2405    
2406    /(?<a>)(?&)/
2407    
2408    /(?<abc>)(?&a)/
2409    
2410    /(?<a>)(?&aaaaaaaaaaaaaaaaaaaaaaa)/
2411    
2412    /(?+-a)/
2413    
2414    /(?-+a)/
2415    
2416    /(?(-1))/
2417    
2418    /(?(+10))/
2419    
2420    /(?(10))/
2421    
2422    /(?(+2))()()/
2423    
2424    /(?(2))()()/
2425    
2426    /\k''/
2427    
2428    /\k<>/
2429    
2430    /\k{}/
2431    
2432    /(?P=)/
2433    
2434    /(?P>)/
2435    
2436    /(?!\w)(?R)/
2437    
2438    /(?=\w)(?R)/
2439    
2440    /(?<!\w)(?R)/
2441    
2442    /(?<=\w)(?R)/
2443    
2444    /[[:foo:]]/
2445    
2446    /[[:1234:]]/
2447    
2448    /[[:f\oo:]]/
2449    
2450    /[[: :]]/
2451    
2452    /[[:...:]]/
2453    
2454    /[[:l\ower:]]/
2455    
2456    /[[:abc\:]]/
2457    
2458    /[abc[:x\]pqr:]]/
2459    
2460    /[[:a\dz:]]/
2461    
2462    /(^(a|b\g<-1'c))/
2463    
2464    /^(?+1)(?<a>x|y){0}z/
2465        xzxx
2466        yzyy
2467        ** Failers
2468        xxz
2469    
2470    /(\3)(\1)(a)/
2471        cat
2472    
2473    /(\3)(\1)(a)/<JS>
2474        cat
2475    
2476    /TA]/
2477        The ACTA] comes
2478    
2479    /TA]/<JS>
2480        The ACTA] comes
2481    
2482    /(?2)[]a()b](abc)/
2483        abcbabc
2484    
2485    /(?2)[^]a()b](abc)/
2486        abcbabc
2487    
2488    /(?1)[]a()b](abc)/
2489        abcbabc
2490        ** Failers
2491        abcXabc
2492    
2493    /(?1)[^]a()b](abc)/
2494        abcXabc
2495        ** Failers
2496        abcbabc
2497    
2498    /(?2)[]a()b](abc)(xyz)/
2499        xyzbabcxyz
2500    
2501    /(?&N)[]a(?<N>)](?<M>abc)/
2502       abc<abc
2503    
2504    /(?&N)[]a(?<N>)](abc)/
2505       abc<abc
2506    
2507    /a[]b/
2508    
2509    /a[^]b/
2510    
2511    /a[]b/<JS>
2512        ** Failers
2513        ab
2514    
2515    /a[]+b/<JS>
2516        ** Failers
2517        ab
2518    
2519    /a[]*+b/<JS>
2520        ** Failers
2521        ab
2522    
2523    /a[^]b/<JS>
2524        aXb
2525        a\nb
2526        ** Failers
2527        ab
2528    
2529    /a[^]+b/<JS>
2530        aXb
2531        a\nX\nXb
2532        ** Failers
2533        ab
2534    
2535    /a(?!)+b/
2536    
2537    /a(*FAIL)+b/
2538    
2539    /(abc|pqr|123){0}[xyz]/SI
2540    
2541    /(?(?=.*b)b|^)/CI
2542       adc
2543       abc
2544    
2545    /(?(?=b).*b|^d)/I
2546    
2547    /(?(?=.*b).*b|^d)/I
2548    
2549    /a?|b?/P
2550        abc
2551        ** Failers
2552        ddd\N
2553    
2554    /xyz/C
2555      xyz
2556      abcxyz
2557      abcxyz\Y
2558      ** Failers
2559      abc
2560      abc\Y
2561      abcxypqr
2562      abcxypqr\Y
2563    
2564    /^"((?(?=[a])[^"])|b)*"$/C
2565        "ab"
2566    
2567    /^"((?(?=[a])[^"])|b)*"$/
2568        "ab"
2569    
2570    /^X(?5)(a)(?|(b)|(q))(c)(d)Y/
2571        XYabcdY
2572    
2573    /^X(?&N)(a)(?|(b)|(q))(c)(d)(?<N>Y)/
2574        XYabcdY
2575    
2576    /Xa{2,4}b/
2577        X\P
2578        Xa\P
2579        Xaa\P
2580        Xaaa\P
2581        Xaaaa\P
2582    
2583    /Xa{2,4}?b/
2584        X\P
2585        Xa\P
2586        Xaa\P
2587        Xaaa\P
2588        Xaaaa\P
2589    
2590    /Xa{2,4}+b/
2591        X\P
2592        Xa\P
2593        Xaa\P
2594        Xaaa\P
2595        Xaaaa\P
2596    
2597    /X\d{2,4}b/
2598        X\P
2599        X3\P
2600        X33\P
2601        X333\P
2602        X3333\P
2603    
2604    /X\d{2,4}?b/
2605        X\P
2606        X3\P
2607        X33\P
2608        X333\P
2609        X3333\P
2610    
2611    /X\d{2,4}+b/
2612        X\P
2613        X3\P
2614        X33\P
2615        X333\P
2616        X3333\P
2617    
2618    /X\D{2,4}b/
2619        X\P
2620        Xa\P
2621        Xaa\P
2622        Xaaa\P
2623        Xaaaa\P
2624    
2625    /X\D{2,4}?b/
2626        X\P
2627        Xa\P
2628        Xaa\P
2629        Xaaa\P
2630        Xaaaa\P
2631    
2632    /X\D{2,4}+b/
2633        X\P
2634        Xa\P
2635        Xaa\P
2636        Xaaa\P
2637        Xaaaa\P
2638    
2639    /X[abc]{2,4}b/
2640        X\P
2641        Xa\P
2642        Xaa\P
2643        Xaaa\P
2644        Xaaaa\P
2645    
2646    /X[abc]{2,4}?b/
2647        X\P
2648        Xa\P
2649        Xaa\P
2650        Xaaa\P
2651        Xaaaa\P
2652    
2653    /X[abc]{2,4}+b/
2654        X\P
2655        Xa\P
2656        Xaa\P
2657        Xaaa\P
2658        Xaaaa\P
2659    
2660    /X[^a]{2,4}b/
2661        X\P
2662        Xz\P
2663        Xzz\P
2664        Xzzz\P
2665        Xzzzz\P
2666    
2667    /X[^a]{2,4}?b/
2668        X\P
2669        Xz\P
2670        Xzz\P
2671        Xzzz\P
2672        Xzzzz\P
2673    
2674    /X[^a]{2,4}+b/
2675        X\P
2676        Xz\P
2677        Xzz\P
2678        Xzzz\P
2679        Xzzzz\P
2680    
2681    /(Y)X\1{2,4}b/
2682        YX\P
2683        YXY\P
2684        YXYY\P
2685        YXYYY\P
2686        YXYYYY\P
2687    
2688    /(Y)X\1{2,4}?b/
2689        YX\P
2690        YXY\P
2691        YXYY\P
2692        YXYYY\P
2693        YXYYYY\P
2694    
2695    /(Y)X\1{2,4}+b/
2696        YX\P
2697        YXY\P
2698        YXYY\P
2699        YXYYY\P
2700        YXYYYY\P
2701    
2702    /\++\KZ|\d+X|9+Y/
2703        ++++123999\P
2704        ++++123999Y\P
2705        ++++Z1234\P
2706    
2707    /Z(*F)/
2708        Z\P
2709        ZA\P
2710    
2711    /Z(?!)/
2712        Z\P
2713        ZA\P
2714    
2715    /dog(sbody)?/
2716        dogs\P
2717        dogs\P\P
2718    
2719    /dog(sbody)??/
2720        dogs\P
2721        dogs\P\P
2722    
2723    /dog|dogsbody/
2724        dogs\P
2725        dogs\P\P
2726    
2727    /dogsbody|dog/
2728        dogs\P
2729        dogs\P\P
2730    
2731    /\bthe cat\b/
2732        the cat\P
2733        the cat\P\P
2734    
2735    /abc/
2736       abc\P
2737       abc\P\P
2738    
2739    /\w+A/P
2740       CDAAAAB
2741    
2742    /\w+A/PU
2743       CDAAAAB
2744    
2745    /abc\K123/
2746        xyzabc123pqr
2747        xyzabc12\P
2748        xyzabc12\P\P
2749    
2750    /(?<=abc)123/
2751        xyzabc123pqr
2752        xyzabc12\P
2753        xyzabc12\P\P
2754    
2755    /\babc\b/
2756        +++abc+++
2757        +++ab\P
2758        +++ab\P\P
2759    
2760    /(?&word)(?&element)(?(DEFINE)(?<element><[^m][^>]>[^<])(?<word>\w*+))/BZ
2761    
2762    /(?&word)(?&element)(?(DEFINE)(?<element><[^\d][^>]>[^<])(?<word>\w*+))/BZ
2763    
2764    /(ab)(x(y)z(cd(*ACCEPT)))pq/BZ
2765    
2766    /abc\K/+
2767        abcdef
2768        abcdef\N\N
2769        xyzabcdef\N\N
2770        ** Failers
2771        abcdef\N
2772        xyzabcdef\N
2773    
2774    /^(?:(?=abc)|abc\K)/+
2775        abcdef
2776        abcdef\N\N
2777        ** Failers
2778        abcdef\N
2779    
2780    /a?b?/+
2781        xyz
2782        xyzabc
2783        xyzabc\N
2784        xyzabc\N\N
2785        xyz\N\N
2786        ** Failers
2787        xyz\N
2788    
2789    /^a?b?/+
2790        xyz
2791        xyzabc
2792        ** Failers
2793        xyzabc\N
2794        xyzabc\N\N
2795        xyz\N\N
2796        xyz\N
2797    
2798    /^(?<name>a|b\g<name>c)/
2799        aaaa
2800        bacxxx
2801        bbaccxxx
2802        bbbacccxx
2803    
2804    /^(?<name>a|b\g'name'c)/
2805        aaaa
2806        bacxxx
2807        bbaccxxx
2808        bbbacccxx
2809    
2810    /^(a|b\g<1>c)/
2811        aaaa
2812        bacxxx
2813        bbaccxxx
2814        bbbacccxx
2815    
2816    /^(a|b\g'1'c)/
2817        aaaa
2818        bacxxx
2819        bbaccxxx
2820        bbbacccxx
2821    
2822    /^(a|b\g'-1'c)/
2823        aaaa
2824        bacxxx
2825        bbaccxxx
2826        bbbacccxx
2827    
2828    /(^(a|b\g<-1>c))/
2829        aaaa
2830        bacxxx
2831        bbaccxxx
2832        bbbacccxx
2833    
2834    /(?-i:\g<name>)(?i:(?<name>a))/
2835        XaaX
2836        XAAX
2837    
2838    /(?i:\g<name>)(?-i:(?<name>a))/
2839        XaaX
2840        ** Failers
2841        XAAX
2842    
2843    /(?-i:\g<+1>)(?i:(a))/
2844        XaaX
2845        XAAX
2846    
2847    /(?=(?<regex>(?#simplesyntax)\$(?<name>[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)(?:\[(?<index>[a-zA-Z0-9_\x{7f}-\x{ff}]+|\$\g<name>)\]|->\g<name>(\(.*?\))?)?|(?#simple syntax withbraces)\$\{(?:\g<name>(?<indices>\[(?:\g<index>|'(?:\\.|[^'\\])*'|"(?:\g<regex>|\\.|[^"\\])*")\])?|\g<complex>|\$\{\g<complex>\})\}|(?#complexsyntax)\{(?<complex>\$(?<segment>\g<name>(\g<indices>*|\(.*?\))?)(?:->\g<segment>)*|\$\g<complex>|\$\{\g<complex>\})\}))\{/
2848    
2849    /(?<n>a|b|c)\g<n>*/
2850       abc
2851       accccbbb
2852    
2853  /[\200-\410]/  /^X(?7)(a)(?|(b)|(q)(r)(s))(c)(d)(Y)/
2854        XYabcdY
2855    
2856  / End of testinput2 /  /-- End of testinput2 --/

Legend:
Removed from v.49  
changed lines
  Added in v.450

  ViewVC Help
Powered by ViewVC 1.1.5