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

Diff of /code/trunk/testdata/testoutput2

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

revision 83 by nigel, Sat Feb 24 21:41:06 2007 UTC revision 1313 by ph10, Wed Apr 24 12:07:09 2013 UTC
# Line 1  Line 1 
1  PCRE version 6.3 15-Aug-2005  /-- 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  /(a)b|/      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 a possible Perl
6        bug.
7    
8        NOTE: This is a non-UTF set of tests. When UTF support is needed, use
9        test 5, and if Unicode Property Support is needed, use test 7. --/
10    
11    /(a)b|/I
12  Capturing subpattern count = 1  Capturing subpattern count = 1
13  No options  No options
14  No first char  No first char
15  No need char  No need char
16    
17  /abc/  /abc/I
18  Capturing subpattern count = 0  Capturing subpattern count = 0
19  No options  No options
20  First char = 'a'  First char = 'a'
# Line 24  No match Line 32  No match
32      ABC      ABC
33  No match  No match
34    
35  /^abc/  /^abc/I
36  Capturing subpattern count = 0  Capturing subpattern count = 0
37  Options: anchored  Options: anchored
38  No first char  No first char
# Line 40  No match Line 48  No match
48      \Adefabc      \Adefabc
49  No match  No match
50    
51  /a+bc/  /a+bc/I
52  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
53  No options  No options
54  First char = 'a'  First char = 'a'
55  Need char = 'c'  Need char = 'c'
56    
57  /a*bc/  /a*bc/I
58  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
59  No options  No options
60  No first char  No first char
61  Need char = 'c'  Need char = 'c'
62    
63  /a{3}bc/  /a{3}bc/I
64  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
65  No options  No options
66  First char = 'a'  First char = 'a'
67  Need char = 'c'  Need char = 'c'
68    
69  /(abc|a+z)/  /(abc|a+z)/I
70  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
71  No options  No options
72  First char = 'a'  First char = 'a'
73  No need char  No need char
74    
75  /^abc$/  /^abc$/I
76  Capturing subpattern count = 0  Capturing subpattern count = 0
77  Options: anchored  Options: anchored
78  No first char  No first char
# Line 80  No match Line 84  No match
84      def\nabc      def\nabc
85  No match  No match
86    
87  /ab\gdef/X  /ab\idef/X
88  Failed: unrecognized character follows \ at offset 3  Failed: unrecognized character follows \ at offset 3
89    
90  /(?X)ab\gdef/X  /(?X)ab\idef/X
91  Failed: unrecognized character follows \ at offset 7  Failed: unrecognized character follows \ at offset 7
92    
93  /x{5,4}/  /x{5,4}/
# Line 98  Failed: missing terminating ] for charac Line 102  Failed: missing terminating ] for charac
102  /(?X)[\B]/  /(?X)[\B]/
103  Failed: invalid escape sequence in character class at offset 6  Failed: invalid escape sequence in character class at offset 6
104    
105    /(?X)[\R]/
106    Failed: invalid escape sequence in character class at offset 6
107    
108    /(?X)[\X]/
109    Failed: invalid escape sequence in character class at offset 6
110    
111    /[\B]/BZ
112    ------------------------------------------------------------------
113            Bra
114            B
115            Ket
116            End
117    ------------------------------------------------------------------
118    
119    /[\R]/BZ
120    ------------------------------------------------------------------
121            Bra
122            R
123            Ket
124            End
125    ------------------------------------------------------------------
126    
127    /[\X]/BZ
128    ------------------------------------------------------------------
129            Bra
130            X
131            Ket
132            End
133    ------------------------------------------------------------------
134    
135  /[z-a]/  /[z-a]/
136  Failed: range out of order in character class at offset 3  Failed: range out of order in character class at offset 3
137    
# Line 111  Failed: missing ) at offset 4 Line 145  Failed: missing ) at offset 4
145  Failed: missing ) after comment at offset 7  Failed: missing ) after comment at offset 7
146    
147  /(?z)abc/  /(?z)abc/
148  Failed: unrecognized character after (? at offset 2  Failed: unrecognized character after (? or (?- at offset 2
149    
150  /.*b/  /.*b/I
151  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
152  No options  No options
153  First char at start or follows \n  First char at start or follows newline
154  Need char = 'b'  Need char = 'b'
155    
156  /.*?b/  /.*?b/I
157  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
158  No options  No options
159  First char at start or follows \n  First char at start or follows newline
160  Need char = 'b'  Need char = 'b'
161    
162  /cat|dog|elephant/  /cat|dog|elephant/I
163  Capturing subpattern count = 0  Capturing subpattern count = 0
164  No options  No options
165  No first char  No first char
# Line 137  No need char Line 169  No need char
169      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
170   0: elephant   0: elephant
171    
172  /cat|dog|elephant/S  /cat|dog|elephant/IS
173  Capturing subpattern count = 0  Capturing subpattern count = 0
174  No options  No options
175  No first char  No first char
176  No need char  No need char
177    Subject length lower bound = 3
178  Starting byte set: c d e  Starting byte set: c d e
179      this sentence eventually mentions a cat      this sentence eventually mentions a cat
180   0: cat   0: cat
181      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
182   0: elephant   0: elephant
183    
184  /cat|dog|elephant/iS  /cat|dog|elephant/IiS
185  Capturing subpattern count = 0  Capturing subpattern count = 0
186  Options: caseless  Options: caseless
187  No first char  No first char
188  No need char  No need char
189    Subject length lower bound = 3
190  Starting byte set: C D E c d e  Starting byte set: C D E c d e
191      this sentence eventually mentions a CAT cat      this sentence eventually mentions a CAT cat
192   0: CAT   0: CAT
193      this sentences rambles on and on for a while to elephant ElePhant      this sentences rambles on and on for a while to elephant ElePhant
194   0: elephant   0: elephant
195    
196  /a|[bcd]/S  /a|[bcd]/IS
197  Capturing subpattern count = 0  Capturing subpattern count = 0
198  No options  No options
199  No first char  No first char
200  No need char  No need char
201    Subject length lower bound = 1
202  Starting byte set: a b c d  Starting byte set: a b c d
203    
204  /(a|[^\dZ])/S  /(a|[^\dZ])/IS
205  Capturing subpattern count = 1  Capturing subpattern count = 1
206  No options  No options
207  No first char  No first char
208  No need char  No need char
209    Subject length lower bound = 1
210  Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a  Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a
211    \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19    \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19
212    \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = >    \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = >
# Line 186  Starting byte set: \x00 \x01 \x02 \x03 \ Line 222  Starting byte set: \x00 \x01 \x02 \x03 \
222    \xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb    \xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb
223    \xfc \xfd \xfe \xff    \xfc \xfd \xfe \xff
224    
225  /(a|b)*[\s]/S  /(a|b)*[\s]/IS
226  Capturing subpattern count = 1  Capturing subpattern count = 1
227  No options  No options
228  No first char  No first char
229  No need char  No need char
230    Subject length lower bound = 1
231  Starting byte set: \x09 \x0a \x0c \x0d \x20 a b  Starting byte set: \x09 \x0a \x0c \x0d \x20 a b
232    
233  /(ab\2)/  /(ab\2)/
# Line 199  Failed: reference to non-existent subpat Line 236  Failed: reference to non-existent subpat
236  /{4,5}abc/  /{4,5}abc/
237  Failed: nothing to repeat at offset 4  Failed: nothing to repeat at offset 4
238    
239  /(a)(b)(c)\2/  /(a)(b)(c)\2/I
240  Capturing subpattern count = 3  Capturing subpattern count = 3
241  Max back reference = 2  Max back reference = 2
242  No options  No options
# Line 224  Matched, but too many substrings Line 261  Matched, but too many substrings
261   0: abcb   0: abcb
262   1: a   1: a
263   2: b   2: b
264      \O12abcb      \O12abcb
265   0: abcb   0: abcb
266   1: a   1: a
267   2: b   2: b
268   3: c   3: c
269    
270  /(a)bc|(a)(b)\2/  /(a)bc|(a)(b)\2/I
271  Capturing subpattern count = 3  Capturing subpattern count = 3
272  Max back reference = 2  Max back reference = 2
273  No options  No options
# Line 272  Matched, but too many substrings Line 309  Matched, but too many substrings
309   2: a   2: a
310   3: b   3: b
311    
312  /abc$/E  /abc$/IE
313  Capturing subpattern count = 0  Capturing subpattern count = 0
314  Options: dollar_endonly  Options: dollar_endonly
315  First char = 'a'  First char = 'a'
# Line 289  No match Line 326  No match
326  /(a)(b)(c)(d)(e)\6/  /(a)(b)(c)(d)(e)\6/
327  Failed: reference to non-existent subpattern at offset 17  Failed: reference to non-existent subpattern at offset 17
328    
329  /the quick brown fox/  /the quick brown fox/I
330  Capturing subpattern count = 0  Capturing subpattern count = 0
331  No options  No options
332  First char = 't'  First char = 't'
# Line 299  Need char = 'x' Line 336  Need char = 'x'
336      this is a line with the quick brown fox      this is a line with the quick brown fox
337   0: the quick brown fox   0: the quick brown fox
338    
339  /the quick brown fox/A  /the quick brown fox/IA
340  Capturing subpattern count = 0  Capturing subpattern count = 0
341  Options: anchored  Options: anchored
342  No first char  No first char
# Line 312  No match Line 349  No match
349  No match  No match
350    
351  /ab(?z)cd/  /ab(?z)cd/
352  Failed: unrecognized character after (? at offset 4  Failed: unrecognized character after (? or (?- at offset 4
353    
354  /^abc|def/  /^abc|def/I
355  Capturing subpattern count = 0  Capturing subpattern count = 0
356  No options  No options
357  No first char  No first char
# Line 324  No need char Line 361  No need char
361      abcdef\B      abcdef\B
362   0: def   0: def
363    
364  /.*((abc)$|(def))/  /.*((abc)$|(def))/I
365  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
366  No options  No options
367  First char at start or follows \n  First char at start or follows newline
368  No need char  No need char
369      defabc      defabc
370   0: defabc   0: defabc
# Line 340  No need char Line 376  No need char
376   2: <unset>   2: <unset>
377   3: def   3: def
378    
 /abc/P  
     abc  
  0: abc  
     *** Failers  
 No match: POSIX code 17: match failed  
   
 /^abc|def/P  
     abcdef  
  0: abc  
     abcdef\B  
  0: def  
   
 /.*((abc)$|(def))/P  
     defabc  
  0: defabc  
  1: abc  
  2: abc  
     \Zdefabc  
  0: def  
  1: def  
  3: def  
   
 /the quick brown fox/P  
     the quick brown fox  
  0: the quick brown fox  
     *** Failers  
 No match: POSIX code 17: match failed  
     The Quick Brown Fox  
 No match: POSIX code 17: match failed  
   
 /the quick brown fox/Pi  
     the quick brown fox  
  0: the quick brown fox  
     The Quick Brown Fox  
  0: The Quick Brown Fox  
   
 /abc.def/P  
     *** Failers  
 No match: POSIX code 17: match failed  
     abc\ndef  
 No match: POSIX code 17: match failed  
   
 /abc$/P  
     abc  
  0: abc  
     abc\n  
  0: abc  
   
 /(abc)\2/P  
 Failed: POSIX code 15: bad back reference at offset 7  
   
 /(abc\1)/P  
     abc  
 No match: POSIX code 17: match failed  
   
379  /)/  /)/
380  Failed: unmatched parentheses at offset 0  Failed: unmatched parentheses at offset 0
381    
382  /a[]b/  /a[]b/
383  Failed: missing terminating ] for character class at offset 4  Failed: missing terminating ] for character class at offset 4
384    
385  /[^aeiou ]{3,}/  /[^aeiou ]{3,}/I
386  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
387  No options  No options
388  No first char  No first char
389  No need char  No need char
390      co-processors, and for      co-processors, and for
391   0: -pr   0: -pr
392    
393  /<.*>/  /<.*>/I
394  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
395  No options  No options
396  First char = '<'  First char = '<'
397  Need char = '>'  Need char = '>'
398      abc<def>ghi<klm>nop      abc<def>ghi<klm>nop
399   0: <def>ghi<klm>   0: <def>ghi<klm>
400    
401  /<.*?>/  /<.*?>/I
402  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
403  No options  No options
404  First char = '<'  First char = '<'
405  Need char = '>'  Need char = '>'
406      abc<def>ghi<klm>nop      abc<def>ghi<klm>nop
407   0: <def>   0: <def>
408    
409  /<.*>/U  /<.*>/IU
410  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
411  Options: ungreedy  Options: ungreedy
412  First char = '<'  First char = '<'
413  Need char = '>'  Need char = '>'
414      abc<def>ghi<klm>nop      abc<def>ghi<klm>nop
415   0: <def>   0: <def>
416    
417  /(?U)<.*>/  /(?U)<.*>/I
418  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
419  Options: ungreedy  Options: ungreedy
420  First char = '<'  First char = '<'
421  Need char = '>'  Need char = '>'
422      abc<def>ghi<klm>nop      abc<def>ghi<klm>nop
423   0: <def>   0: <def>
424    
425  /<.*?>/U  /<.*?>/IU
426  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
427  Options: ungreedy  Options: ungreedy
428  First char = '<'  First char = '<'
429  Need char = '>'  Need char = '>'
430      abc<def>ghi<klm>nop      abc<def>ghi<klm>nop
431   0: <def>ghi<klm>   0: <def>ghi<klm>
432    
433  /={3,}/U  /={3,}/IU
434  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
435  Options: ungreedy  Options: ungreedy
436  First char = '='  First char = '='
437  Need char = '='  Need char = '='
438      abc========def      abc========def
439   0: ===   0: ===
440    
441  /(?U)={3,}?/  /(?U)={3,}?/I
442  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
443  Options: ungreedy  Options: ungreedy
444  First char = '='  First char = '='
445  Need char = '='  Need char = '='
446      abc========def      abc========def
447   0: ========   0: ========
448    
449  /(?<!bar|cattle)foo/  /(?<!bar|cattle)foo/I
450  Capturing subpattern count = 0  Capturing subpattern count = 0
451    Max lookbehind = 6
452  No options  No options
453  First char = 'f'  First char = 'f'
454  Need char = 'o'  Need char = 'o'
455      foo      foo
456   0: foo   0: foo
457      catfoo      catfoo
458   0: foo   0: foo
459      *** Failers      *** Failers
460  No match  No match
461      the barfoo      the barfoo
462  No match  No match
463      and cattlefoo      and cattlefoo
464  No match  No match
465    
466  /(?<=a+)b/  /(?<=a+)b/
# Line 498  Failed: lookbehind assertion is not fixe Line 472  Failed: lookbehind assertion is not fixe
472  /(?<!(foo)a\1)bar/  /(?<!(foo)a\1)bar/
473  Failed: lookbehind assertion is not fixed length at offset 12  Failed: lookbehind assertion is not fixed length at offset 12
474    
475  /(?i)abc/  /(?i)abc/I
476  Capturing subpattern count = 0  Capturing subpattern count = 0
477  Options: caseless  Options: caseless
478  First char = 'a' (caseless)  First char = 'a' (caseless)
479  Need char = 'c' (caseless)  Need char = 'c' (caseless)
480    
481  /(a|(?m)a)/  /(a|(?m)a)/I
482  Capturing subpattern count = 1  Capturing subpattern count = 1
483  No options  No options
484  First char = 'a'  First char = 'a'
485  No need char  No need char
486    
487  /(?i)^1234/  /(?i)^1234/I
488  Capturing subpattern count = 0  Capturing subpattern count = 0
489  Options: anchored caseless  Options: anchored caseless
490  No first char  No first char
491  No need char  No need char
492    
493  /(^b|(?i)^d)/  /(^b|(?i)^d)/I
494  Capturing subpattern count = 1  Capturing subpattern count = 1
495  Options: anchored  Options: anchored
 Case state changes  
496  No first char  No first char
497  No need char  No need char
498    
499  /(?s).*/  /(?s).*/I
500  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
501  Options: anchored dotall  Options: anchored dotall
502  No first char  No first char
503  No need char  No need char
504    
505  /[abcd]/S  /[abcd]/IS
506  Capturing subpattern count = 0  Capturing subpattern count = 0
507  No options  No options
508  No first char  No first char
509  No need char  No need char
510    Subject length lower bound = 1
511  Starting byte set: a b c d  Starting byte set: a b c d
512    
513  /(?i)[abcd]/S  /(?i)[abcd]/IS
514  Capturing subpattern count = 0  Capturing subpattern count = 0
515  Options: caseless  Options: caseless
516  No first char  No first char
517  No need char  No need char
518    Subject length lower bound = 1
519  Starting byte set: A B C D a b c d  Starting byte set: A B C D a b c d
520    
521  /(?m)[xy]|(b|c)/S  /(?m)[xy]|(b|c)/IS
522  Capturing subpattern count = 1  Capturing subpattern count = 1
523  Options: multiline  Options: multiline
524  No first char  No first char
525  No need char  No need char
526    Subject length lower bound = 1
527  Starting byte set: b c x y  Starting byte set: b c x y
528    
529  /(^a|^b)/m  /(^a|^b)/Im
530  Capturing subpattern count = 1  Capturing subpattern count = 1
531  Options: multiline  Options: multiline
532  First char at start or follows \n  First char at start or follows newline
533  No need char  No need char
534    
535  /(?i)(^a|^b)/m  /(?i)(^a|^b)/Im
536  Capturing subpattern count = 1  Capturing subpattern count = 1
537  Options: caseless multiline  Options: caseless multiline
538  First char at start or follows \n  First char at start or follows newline
539  No need char  No need char
540    
541  /(a)(?(1)a|b|c)/  /(a)(?(1)a|b|c)/
# Line 570  Failed: conditional group contains more Line 545  Failed: conditional group contains more
545  Failed: conditional group contains more than two branches at offset 12  Failed: conditional group contains more than two branches at offset 12
546    
547  /(?(1a)/  /(?(1a)/
548  Failed: malformed number after (?( at offset 4  Failed: missing ) at offset 6
549    
550    /(?(1a))/
551    Failed: reference to non-existent subpattern at offset 6
552    
553  /(?(?i))/  /(?(?i))/
554  Failed: assertion expected after (?( at offset 3  Failed: assertion expected after (?( at offset 3
555    
556  /(?(abc))/  /(?(abc))/
557  Failed: assertion expected after (?( at offset 3  Failed: reference to non-existent subpattern at offset 7
558    
559  /(?(?<ab))/  /(?(?<ab))/
560  Failed: unrecognized character after (?< at offset 5  Failed: syntax error in subpattern name (missing terminator) at offset 7
561    
562  /((?s)blah)\s+\1/  /((?s)blah)\s+\1/I
563  Capturing subpattern count = 1  Capturing subpattern count = 1
564  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
565  No options  No options
566  First char = 'b'  First char = 'b'
567  Need char = 'h'  Need char = 'h'
568    
569  /((?i)blah)\s+\1/  /((?i)blah)\s+\1/I
570  Capturing subpattern count = 1  Capturing subpattern count = 1
571  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
572  No options  No options
 Case state changes  
573  First char = 'b' (caseless)  First char = 'b' (caseless)
574  Need char = 'h' (caseless)  Need char = 'h' (caseless)
575    
576  /((?i)b)/DS  /((?i)b)/IDZS
577  ------------------------------------------------------------------  ------------------------------------------------------------------
578    0  15 Bra 0          Bra
579    3   7 Bra 1          CBra 1
580    6  01 Opt       /i b
581    8  NC b          Ket
582   10   7 Ket          Ket
583   13  00 Opt          End
  15  15 Ket  
  18     End  
584  ------------------------------------------------------------------  ------------------------------------------------------------------
585  Capturing subpattern count = 1  Capturing subpattern count = 1
586  No options  No options
 Case state changes  
587  First char = 'b' (caseless)  First char = 'b' (caseless)
588  No need char  No need char
589  Study returned NULL  Subject length lower bound = 1
590    No set of starting bytes
591    
592  /(a*b|(?i:c*(?-i)d))/S  /(a*b|(?i:c*(?-i)d))/IS
593  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
594  No options  No options
 Case state changes  
595  No first char  No first char
596  No need char  No need char
597    Subject length lower bound = 1
598  Starting byte set: C a b c d  Starting byte set: C a b c d
599    
600  /a$/  /a$/I
601  Capturing subpattern count = 0  Capturing subpattern count = 0
602  No options  No options
603  First char = 'a'  First char = 'a'
# Line 634  No need char Line 606  No need char
606   0: a   0: a
607      a\n      a\n
608   0: a   0: a
609      *** Failers      *** Failers
610  No match  No match
611      \Za      \Za
612  No match  No match
613      \Za\n      \Za\n
614  No match  No match
615    
616  /a$/m  /a$/Im
617  Capturing subpattern count = 0  Capturing subpattern count = 0
618  Options: multiline  Options: multiline
619  First char = 'a'  First char = 'a'
# Line 650  No need char Line 622  No need char
622   0: a   0: a
623      a\n      a\n
624   0: a   0: a
625      \Za\n      \Za\n
626   0: a   0: a
627      *** Failers      *** Failers
628  No match  No match
629      \Za      \Za
630  No match  No match
631    
632  /\Aabc/m  /\Aabc/Im
633  Capturing subpattern count = 0  Capturing subpattern count = 0
634    Max lookbehind = 1
635  Options: anchored multiline  Options: anchored multiline
636  No first char  No first char
637  No need char  No need char
638    
639  /^abc/m  /^abc/Im
640  Capturing subpattern count = 0  Capturing subpattern count = 0
641  Options: multiline  Options: multiline
642  First char at start or follows \n  First char at start or follows newline
643  Need char = 'c'  Need char = 'c'
644    
645  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I
646  Capturing subpattern count = 5  Capturing subpattern count = 5
 Partial matching not supported  
647  Options: anchored  Options: anchored
648  No first char  No first char
649  No need char  No need char
# Line 683  No need char Line 655  No need char
655   4: bbbbccccc   4: bbbbccccc
656   5: def   5: def
657    
658  /(?<=foo)[ab]/S  /(?<=foo)[ab]/IS
659  Capturing subpattern count = 0  Capturing subpattern count = 0
660    Max lookbehind = 3
661  No options  No options
662  No first char  No first char
663  No need char  No need char
664    Subject length lower bound = 1
665  Starting byte set: a b  Starting byte set: a b
666    
667  /(?<!foo)(alpha|omega)/S  /(?<!foo)(alpha|omega)/IS
668  Capturing subpattern count = 1  Capturing subpattern count = 1
669    Max lookbehind = 3
670  No options  No options
671  No first char  No first char
672  Need char = 'a'  Need char = 'a'
673    Subject length lower bound = 5
674  Starting byte set: a o  Starting byte set: a o
675    
676  /(?!alphabet)[ab]/S  /(?!alphabet)[ab]/IS
677  Capturing subpattern count = 0  Capturing subpattern count = 0
678  No options  No options
679  No first char  No first char
680  No need char  No need char
681    Subject length lower bound = 1
682  Starting byte set: a b  Starting byte set: a b
683    
684  /(?<=foo\n)^bar/m  /(?<=foo\n)^bar/Im
685  Capturing subpattern count = 0  Capturing subpattern count = 0
686    Max lookbehind = 4
687    Contains explicit CR or LF match
688  Options: multiline  Options: multiline
689  No first char  No first char
690  Need char = 'r'  Need char = 'r'
691      foo\nbarbar      foo\nbarbar
692   0: bar   0: bar
693      ***Failers      ***Failers
694  No match  No match
695      rhubarb      rhubarb
696  No match  No match
697      barbell      barbell
698  No match  No match
699      abc\nbarton      abc\nbarton
700  No match  No match
701    
702  /^(?<=foo\n)bar/m  /^(?<=foo\n)bar/Im
703  Capturing subpattern count = 0  Capturing subpattern count = 0
704    Max lookbehind = 4
705    Contains explicit CR or LF match
706  Options: multiline  Options: multiline
707  First char at start or follows \n  First char at start or follows newline
708  Need char = 'r'  Need char = 'r'
709      foo\nbarbar      foo\nbarbar
710   0: bar   0: bar
711      ***Failers      ***Failers
712  No match  No match
713      rhubarb      rhubarb
714  No match  No match
715      barbell      barbell
716  No match  No match
717      abc\nbarton      abc\nbarton
718  No match  No match
719    
720  /(?>^abc)/m  /(?>^abc)/Im
721  Capturing subpattern count = 0  Capturing subpattern count = 0
722  Options: multiline  Options: multiline
723  First char at start or follows \n  First char at start or follows newline
724  Need char = 'c'  Need char = 'c'
725      abc      abc
726   0: abc   0: abc
# Line 747  Need char = 'c' Line 728  Need char = 'c'
728   0: abc   0: abc
729      *** Failers      *** Failers
730  No match  No match
731      defabc      defabc
732  No match  No match
733    
734  /(?<=ab(c+)d)ef/  /(?<=ab(c+)d)ef/
# Line 760  Failed: lookbehind assertion is not fixe Line 741  Failed: lookbehind assertion is not fixe
741  Failed: lookbehind assertion is not fixed length at offset 13  Failed: lookbehind assertion is not fixed length at offset 13
742    
743  /The next three are in testinput2 because they have variable length branches/  /The next three are in testinput2 because they have variable length branches/
 Capturing subpattern count = 0  
 No options  
 First char = 'T'  
 Need char = 's'  
744    
745  /(?<=bullock|donkey)-cart/  /(?<=bullock|donkey)-cart/I
746  Capturing subpattern count = 0  Capturing subpattern count = 0
747    Max lookbehind = 7
748  No options  No options
749  First char = '-'  First char = '-'
750  Need char = 't'  Need char = 't'
# Line 778  Need char = 't' Line 756  Need char = 't'
756  No match  No match
757      cart      cart
758  No match  No match
759      horse-and-cart      horse-and-cart
760  No match  No match
761    
762  /(?<=ab(?i)x|y|z)/  /(?<=ab(?i)x|y|z)/I
763  Capturing subpattern count = 0  Capturing subpattern count = 0
764    Max lookbehind = 3
765  No options  No options
 Case state changes  
766  No first char  No first char
767  No need char  No need char
768    
769  /(?>.*)(?<=(abcd)|(xyz))/  /(?>.*)(?<=(abcd)|(xyz))/I
770  Capturing subpattern count = 2  Capturing subpattern count = 2
771  Partial matching not supported  Max lookbehind = 4
772  No options  No options
773  First char at start or follows \n  No first char
774  No need char  No need char
775      alphabetabcd      alphabetabcd
776   0: alphabetabcd   0: alphabetabcd
# Line 802  No need char Line 780  No need char
780   1: <unset>   1: <unset>
781   2: xyz   2: xyz
782    
783  /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/  /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/I
784  Capturing subpattern count = 0  Capturing subpattern count = 0
785    Max lookbehind = 4
786  No options  No options
 Case state changes  
787  First char = 'Z'  First char = 'Z'
788  Need char = 'Z'  Need char = 'Z'
789      abxyZZ      abxyZZ
# Line 818  Need char = 'Z' Line 796  Need char = 'Z'
796   0: ZZ   0: ZZ
797      bZZ      bZZ
798   0: ZZ   0: ZZ
799      BZZ      BZZ
800   0: ZZ   0: ZZ
801      *** Failers      *** Failers
802  No match  No match
803      ZZ      ZZ
804  No match  No match
805      abXYZZ      abXYZZ
806  No match  No match
807      zzz      zzz
808  No match  No match
809      bzz      bzz
810  No match  No match
811    
812  /(?<!(foo)a)bar/  /(?<!(foo)a)bar/I
813  Capturing subpattern count = 1  Capturing subpattern count = 1
814    Max lookbehind = 4
815  No options  No options
816  First char = 'b'  First char = 'b'
817  Need char = 'r'  Need char = 'r'
818      bar      bar
819   0: bar   0: bar
820      foobbar      foobbar
821   0: bar   0: bar
822      *** Failers      *** Failers
823  No match  No match
824      fooabar      fooabar
 No match  
   
 /This one is here because Perl 5.005_02 doesn't fail it/  
 Capturing subpattern count = 0  
 No options  
 First char = 'T'  
 Need char = 't'  
   
 /^(a)?(?(1)a|b)+$/  
 Capturing subpattern count = 1  
 Options: anchored  
 No first char  
 No need char  
     *** Failers  
 No match  
     a  
825  No match  No match
826    
827  /This one is here because I think Perl 5.005_02 gets the setting of $1 wrong/  /This one is here because Perl behaves differently; see also the following/I
828  Capturing subpattern count = 0  Capturing subpattern count = 0
829  No options  No options
830  First char = 'T'  First char = 'T'
831  Need char = 'g'  Need char = 'g'
832    
833  /^(a\1?){4}$/  /^(a\1?){4}$/I
834  Capturing subpattern count = 1  Capturing subpattern count = 1
835  Max back reference = 1  Max back reference = 1
836  Options: anchored  Options: anchored
837  No first char  No first char
838  No need char  No need char
839        aaaa
840    No match
841      aaaaaa      aaaaaa
842   0: aaaaaa  No match
  1: aa  
843    
844  /These are syntax tests from Perl 5.005/  /Perl does not fail these two for the final subjects. Neither did PCRE until/
845    /release 8.01. The problem is in backtracking into a subpattern that contains/
846    No match
847    /a recursive reference to itself. PCRE has now made these into atomic patterns./
848    No match
849    
850    /^(xa|=?\1a){2}$/
851        xa=xaa
852     0: xa=xaa
853     1: =xaa
854        ** Failers
855    No match
856        xa=xaaa
857    No match
858    
859    /^(xa|=?\1a)+$/
860        xa=xaa
861     0: xa=xaa
862     1: =xaa
863        ** Failers
864    No match
865        xa=xaaa
866    No match
867    
868    /These are syntax tests from Perl 5.005/I
869  Capturing subpattern count = 0  Capturing subpattern count = 0
870  No options  No options
871  First char = 'T'  First char = 'T'
# Line 919  Failed: reference to non-existent subpat Line 907  Failed: reference to non-existent subpat
907  /(a)|\2/  /(a)|\2/
908  Failed: reference to non-existent subpattern at offset 6  Failed: reference to non-existent subpattern at offset 6
909    
910  /a[b-a]/i  /a[b-a]/Ii
911  Failed: range out of order in character class at offset 4  Failed: range out of order in character class at offset 4
912    
913  /a[]b/i  /a[]b/Ii
914  Failed: missing terminating ] for character class at offset 4  Failed: missing terminating ] for character class at offset 4
915    
916  /a[/i  /a[/Ii
917  Failed: missing terminating ] for character class at offset 2  Failed: missing terminating ] for character class at offset 2
918    
919  /*a/i  /*a/Ii
920  Failed: nothing to repeat at offset 0  Failed: nothing to repeat at offset 0
921    
922  /(*)b/i  /(*)b/Ii
923  Failed: nothing to repeat at offset 1  Failed: nothing to repeat at offset 1
924    
925  /abc)/i  /abc)/Ii
926  Failed: unmatched parentheses at offset 3  Failed: unmatched parentheses at offset 3
927    
928  /(abc/i  /(abc/Ii
929  Failed: missing ) at offset 4  Failed: missing ) at offset 4
930    
931  /a**/i  /a**/Ii
932  Failed: nothing to repeat at offset 2  Failed: nothing to repeat at offset 2
933    
934  /)(/i  /)(/Ii
935  Failed: unmatched parentheses at offset 0  Failed: unmatched parentheses at offset 0
936    
937  /:(?:/  /:(?:/
# Line 953  Failed: missing ) at offset 4 Line 941  Failed: missing ) at offset 4
941  Failed: unrecognized character after (?< at offset 3  Failed: unrecognized character after (?< at offset 3
942    
943  /a(?{)b/  /a(?{)b/
944  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
945    
946  /a(?{{})b/  /a(?{{})b/
947  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
948    
949  /a(?{}})b/  /a(?{}})b/
950  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
951    
952  /a(?{"{"})b/  /a(?{"{"})b/
953  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
954    
955  /a(?{"{"}})b/  /a(?{"{"}})b/
956  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
957    
958  /(?(1?)a|b)/  /(?(1?)a|b)/
959  Failed: malformed number after (?( at offset 4  Failed: malformed number or name after (?( at offset 4
   
 /(?(1)a|b|c)/  
 Failed: conditional group contains more than two branches at offset 10  
960    
961  /[a[:xyz:/  /[a[:xyz:/
962  Failed: missing terminating ] for character class at offset 8  Failed: missing terminating ] for character class at offset 8
# Line 985  Failed: numbers out of order in {} quant Line 970  Failed: numbers out of order in {} quant
970  /abc/\  /abc/\
971  Failed: \ at end of pattern at offset 4  Failed: \ at end of pattern at offset 4
972    
 /abc/\P  
 Failed: POSIX code 9: bad escape sequence at offset 4  
   
973  /abc/\i  /abc/\i
974  Failed: \ at end of pattern at offset 4  Failed: \ at end of pattern at offset 4
975    
976  /(a)bc(d)/  /(a)bc(d)/I
977  Capturing subpattern count = 2  Capturing subpattern count = 2
978  No options  No options
979  First char = 'a'  First char = 'a'
# Line 1010  Need char = 'd' Line 992  Need char = 'd'
992   1: a   1: a
993   2: d   2: d
994  copy substring 5 failed -7  copy substring 5 failed -7
995    
996  /(.{20})/  /(.{20})/I
997  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
998  No options  No options
999  No first char  No first char
1000  No need char  No need char
# Line 1023  No need char Line 1004  No need char
1004      abcdefghijklmnopqrstuvwxyz\C1      abcdefghijklmnopqrstuvwxyz\C1
1005   0: abcdefghijklmnopqrst   0: abcdefghijklmnopqrst
1006   1: abcdefghijklmnopqrst   1: abcdefghijklmnopqrst
1007  copy substring 1 failed -6   1C abcdefghijklmnopqrst (20)
1008      abcdefghijklmnopqrstuvwxyz\G1      abcdefghijklmnopqrstuvwxyz\G1
1009   0: abcdefghijklmnopqrst   0: abcdefghijklmnopqrst
1010   1: abcdefghijklmnopqrst   1: abcdefghijklmnopqrst
1011   1G abcdefghijklmnopqrst (20)   1G abcdefghijklmnopqrst (20)
1012    
1013  /(.{15})/  /(.{15})/I
1014  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1015  No options  No options
1016  No first char  No first char
1017  No need char  No need char
# Line 1044  No need char Line 1024  No need char
1024   1C abcdefghijklmno (15)   1C abcdefghijklmno (15)
1025   1G abcdefghijklmno (15)   1G abcdefghijklmno (15)
1026    
1027  /(.{16})/  /(.{16})/I
1028  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1029  No options  No options
1030  No first char  No first char
1031  No need char  No need char
# Line 1056  No need char Line 1035  No need char
1035      abcdefghijklmnopqrstuvwxyz\C1\G1\L      abcdefghijklmnopqrstuvwxyz\C1\G1\L
1036   0: abcdefghijklmnop   0: abcdefghijklmnop
1037   1: abcdefghijklmnop   1: abcdefghijklmnop
1038  copy substring 1 failed -6   1C abcdefghijklmnop (16)
1039   1G abcdefghijklmnop (16)   1G abcdefghijklmnop (16)
1040   0L abcdefghijklmnop   0L abcdefghijklmnop
1041   1L abcdefghijklmnop   1L abcdefghijklmnop
1042    
1043  /^(a|(bc))de(f)/  /^(a|(bc))de(f)/I
1044  Capturing subpattern count = 3  Capturing subpattern count = 3
1045  Options: anchored  Options: anchored
1046  No first char  No first char
1047  No need char  No need char
1048      adef\G1\G2\G3\G4\L      adef\G1\G2\G3\G4\L
1049   0: adef   0: adef
1050   1: a   1: a
1051   2: <unset>   2: <unset>
# Line 1079  get substring 4 failed -7 Line 1058  get substring 4 failed -7
1058   1L a   1L a
1059   2L   2L
1060   3L f   3L f
1061      bcdef\G1\G2\G3\G4\L      bcdef\G1\G2\G3\G4\L
1062   0: bcdef   0: bcdef
1063   1: bc   1: bc
1064   2: bc   2: bc
# Line 1092  get substring 4 failed -7 Line 1071  get substring 4 failed -7
1071   1L bc   1L bc
1072   2L bc   2L bc
1073   3L f   3L f
1074      adefghijk\C0      adefghijk\C0
1075   0: adef   0: adef
1076   1: a   1: a
1077   2: <unset>   2: <unset>
1078   3: f   3: f
1079   0C adef (4)   0C adef (4)
1080    
1081  /^abc\00def/  /^abc\00def/I
1082  Capturing subpattern count = 0  Capturing subpattern count = 0
1083  Options: anchored  Options: anchored
1084  No first char  No first char
1085  No need char  No need char
1086      abc\00def\L\C0      abc\00def\L\C0
1087   0: abc\x00def   0: abc\x00def
1088   0C abc (7)   0C abc\x00def (7)
1089   0L abc   0L abc
1090    
1091  /word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+  /word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
1092  )((?:[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]+
1093  )?)?)?)?)?)?)?)?)?otherword/M  )?)?)?)?)?)?)?)?)?otherword/I
 Memory allocation (code space): 432  
1094  Capturing subpattern count = 8  Capturing subpattern count = 8
1095  Partial matching not supported  Contains explicit CR or LF match
1096  No options  No options
1097  First char = 'w'  First char = 'w'
1098  Need char = 'd'  Need char = 'd'
1099    
1100  /.*X/D  /.*X/IDZ
1101  ------------------------------------------------------------------  ------------------------------------------------------------------
1102    0   7 Bra 0          Bra
1103    3     Any*          Any*
1104    5     X          X
1105    7   7 Ket          Ket
1106   10     End          End
1107  ------------------------------------------------------------------  ------------------------------------------------------------------
1108  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1109  No options  No options
1110  First char at start or follows \n  First char at start or follows newline
1111  Need char = 'X'  Need char = 'X'
1112    
1113  /.*X/Ds  /.*X/IDZs
1114  ------------------------------------------------------------------  ------------------------------------------------------------------
1115    0   7 Bra 0          Bra
1116    3     Any*          AllAny*
1117    5     X          X
1118    7   7 Ket          Ket
1119   10     End          End
1120  ------------------------------------------------------------------  ------------------------------------------------------------------
1121  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1122  Options: anchored dotall  Options: anchored dotall
1123  No first char  No first char
1124  Need char = 'X'  Need char = 'X'
1125    
1126  /(.*X|^B)/D  /(.*X|^B)/IDZ
1127  ------------------------------------------------------------------  ------------------------------------------------------------------
1128    0  19 Bra 0          Bra
1129    3   7 Bra 1          CBra 1
1130    6     Any*          Any*
1131    8     X          X
1132   10   6 Alt          Alt
1133   13     ^          ^
1134   14     B          B
1135   16  13 Ket          Ket
1136   19  19 Ket          Ket
1137   22     End          End
1138  ------------------------------------------------------------------  ------------------------------------------------------------------
1139  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1140  No options  No options
1141  First char at start or follows \n  First char at start or follows newline
1142  No need char  No need char
1143    
1144  /(.*X|^B)/Ds  /(.*X|^B)/IDZs
1145  ------------------------------------------------------------------  ------------------------------------------------------------------
1146    0  19 Bra 0          Bra
1147    3   7 Bra 1          CBra 1
1148    6     Any*          AllAny*
1149    8     X          X
1150   10   6 Alt          Alt
1151   13     ^          ^
1152   14     B          B
1153   16  13 Ket          Ket
1154   19  19 Ket          Ket
1155   22     End          End
1156  ------------------------------------------------------------------  ------------------------------------------------------------------
1157  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1158  Options: anchored dotall  Options: anchored dotall
1159  No first char  No first char
1160  No need char  No need char
1161    
1162  /(?s)(.*X|^B)/D  /(?s)(.*X|^B)/IDZ
1163  ------------------------------------------------------------------  ------------------------------------------------------------------
1164    0  19 Bra 0          Bra
1165    3   7 Bra 1          CBra 1
1166    6     Any*          AllAny*
1167    8     X          X
1168   10   6 Alt          Alt
1169   13     ^          ^
1170   14     B          B
1171   16  13 Ket          Ket
1172   19  19 Ket          Ket
1173   22     End          End
1174  ------------------------------------------------------------------  ------------------------------------------------------------------
1175  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1176  Options: anchored dotall  Options: anchored dotall
1177  No first char  No first char
1178  No need char  No need char
1179    
1180  /(?s:.*X|^B)/D  /(?s:.*X|^B)/IDZ
1181  ------------------------------------------------------------------  ------------------------------------------------------------------
1182    0  25 Bra 0          Bra
1183    3   9 Bra 0          Bra
1184    6  04 Opt          AllAny*
1185    8     Any*          X
1186   10     X          Alt
1187   12   8 Alt          ^
1188   15  04 Opt          B
1189   17     ^          Ket
1190   18     B          Ket
1191   20  17 Ket          End
  23  00 Opt  
  25  25 Ket  
  28     End  
1192  ------------------------------------------------------------------  ------------------------------------------------------------------
1193  Capturing subpattern count = 0  Capturing subpattern count = 0
1194  Partial matching not supported  Options: anchored
1195  No options  No first char
 First char at start or follows \n  
1196  No need char  No need char
1197    
1198  /\Biss\B/+  /\Biss\B/I+
1199  Capturing subpattern count = 0  Capturing subpattern count = 0
1200    Max lookbehind = 1
1201  No options  No options
1202  First char = 'i'  First char = 'i'
1203  Need char = 's'  Need char = 's'
# Line 1235  Need char = 's' Line 1205  Need char = 's'
1205   0: iss   0: iss
1206   0+ issippi   0+ issippi
1207    
1208  /\Biss\B/+P  /iss/IG+
     Mississippi  
  0: iss  
  0+ issippi  
   
 /iss/G+  
1209  Capturing subpattern count = 0  Capturing subpattern count = 0
1210  No options  No options
1211  First char = 'i'  First char = 'i'
# Line 1251  Need char = 's' Line 1216  Need char = 's'
1216   0: iss   0: iss
1217   0+ ippi   0+ ippi
1218    
1219  /\Biss\B/G+  /\Biss\B/IG+
1220  Capturing subpattern count = 0  Capturing subpattern count = 0
1221    Max lookbehind = 1
1222  No options  No options
1223  First char = 'i'  First char = 'i'
1224  Need char = 's'  Need char = 's'
# Line 1260  Need char = 's' Line 1226  Need char = 's'
1226   0: iss   0: iss
1227   0+ issippi   0+ issippi
1228    
1229  /\Biss\B/g+  /\Biss\B/Ig+
1230  Capturing subpattern count = 0  Capturing subpattern count = 0
1231    Max lookbehind = 1
1232  No options  No options
1233  First char = 'i'  First char = 'i'
1234  Need char = 's'  Need char = 's'
# Line 1275  No match Line 1242  No match
1242      Mississippi\A      Mississippi\A
1243  No match  No match
1244    
1245  /(?<=[Ms])iss/g+  /(?<=[Ms])iss/Ig+
1246  Capturing subpattern count = 0  Capturing subpattern count = 0
1247    Max lookbehind = 1
1248  No options  No options
1249  First char = 'i'  First char = 'i'
1250  Need char = 's'  Need char = 's'
# Line 1286  Need char = 's' Line 1254  Need char = 's'
1254   0: iss   0: iss
1255   0+ ippi   0+ ippi
1256    
1257  /(?<=[Ms])iss/G+  /(?<=[Ms])iss/IG+
1258  Capturing subpattern count = 0  Capturing subpattern count = 0
1259    Max lookbehind = 1
1260  No options  No options
1261  First char = 'i'  First char = 'i'
1262  Need char = 's'  Need char = 's'
# Line 1295  Need char = 's' Line 1264  Need char = 's'
1264   0: iss   0: iss
1265   0+ issippi   0+ issippi
1266    
1267  /^iss/g+  /^iss/Ig+
1268  Capturing subpattern count = 0  Capturing subpattern count = 0
1269  Options: anchored  Options: anchored
1270  No first char  No first char
# Line 1303  No need char Line 1272  No need char
1272      ississippi      ississippi
1273   0: iss   0: iss
1274   0+ issippi   0+ issippi
1275    
1276  /.*iss/g+  /.*iss/Ig+
1277  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1278  No options  No options
1279  First char at start or follows \n  First char at start or follows newline
1280  Need char = 's'  Need char = 's'
1281      abciss\nxyzisspqr      abciss\nxyzisspqr
1282   0: abciss   0: abciss
1283   0+ \x0axyzisspqr   0+ \x0axyzisspqr
1284   0: xyziss   0: xyziss
1285   0+ pqr   0+ pqr
1286    
1287  /.i./+g  /.i./I+g
1288  Capturing subpattern count = 0  Capturing subpattern count = 0
1289  No options  No options
1290  No first char  No first char
# Line 1342  Need char = 'i' Line 1310  Need char = 'i'
1310   0+ river   0+ river
1311   0: riv   0: riv
1312   0+ er   0+ er
1313      Missouri river\A      Missouri river\A
1314   0: Mis   0: Mis
1315   0+ souri river   0+ souri river
1316    
1317  /^.is/+g  /^.is/I+g
1318  Capturing subpattern count = 0  Capturing subpattern count = 0
1319  Options: anchored  Options: anchored
1320  No first char  No first char
# Line 1355  No need char Line 1323  No need char
1323   0: Mis   0: Mis
1324   0+ sissippi   0+ sissippi
1325    
1326  /^ab\n/g+  /^ab\n/Ig+
1327  Capturing subpattern count = 0  Capturing subpattern count = 0
1328    Contains explicit CR or LF match
1329  Options: anchored  Options: anchored
1330  No first char  No first char
1331  No need char  No need char
# Line 1364  No need char Line 1333  No need char
1333   0: ab\x0a   0: ab\x0a
1334   0+ ab\x0acd   0+ ab\x0acd
1335    
1336  /^ab\n/mg+  /^ab\n/Img+
1337  Capturing subpattern count = 0  Capturing subpattern count = 0
1338    Contains explicit CR or LF match
1339  Options: multiline  Options: multiline
1340  First char at start or follows \n  First char at start or follows newline
1341  Need char = 10  Need char = \x0a
1342      ab\nab\ncd      ab\nab\ncd
1343   0: ab\x0a   0: ab\x0a
1344   0+ ab\x0acd   0+ ab\x0acd
1345   0: ab\x0a   0: ab\x0a
1346   0+ cd   0+ cd
1347    
1348  /abc/  /abc/I
1349  Capturing subpattern count = 0  Capturing subpattern count = 0
1350  No options  No options
1351  First char = 'a'  First char = 'a'
1352  Need char = 'c'  Need char = 'c'
1353    
1354  /abc|bac/  /abc|bac/I
1355  Capturing subpattern count = 0  Capturing subpattern count = 0
1356  No options  No options
1357  No first char  No first char
1358  Need char = 'c'  Need char = 'c'
1359    
1360  /(abc|bac)/  /(abc|bac)/I
1361  Capturing subpattern count = 1  Capturing subpattern count = 1
1362  No options  No options
1363  No first char  No first char
1364  Need char = 'c'  Need char = 'c'
1365    
1366  /(abc|(c|dc))/  /(abc|(c|dc))/I
1367  Capturing subpattern count = 2  Capturing subpattern count = 2
1368  No options  No options
1369  No first char  No first char
1370  Need char = 'c'  Need char = 'c'
1371    
1372  /(abc|(d|de)c)/  /(abc|(d|de)c)/I
1373  Capturing subpattern count = 2  Capturing subpattern count = 2
1374  No options  No options
1375  No first char  No first char
1376  Need char = 'c'  Need char = 'c'
1377    
1378  /a*/  /a*/I
1379  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1380  No options  No options
1381  No first char  No first char
1382  No need char  No need char
1383    
1384  /a+/  /a+/I
1385  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1386  No options  No options
1387  First char = 'a'  First char = 'a'
1388  No need char  No need char
1389    
1390  /(baa|a+)/  /(baa|a+)/I
1391  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1392  No options  No options
1393  No first char  No first char
1394  Need char = 'a'  Need char = 'a'
1395    
1396  /a{0,3}/  /a{0,3}/I
1397  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1398  No options  No options
1399  No first char  No first char
1400  No need char  No need char
1401    
1402  /baa{3,}/  /baa{3,}/I
1403  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1404  No options  No options
1405  First char = 'b'  First char = 'b'
1406  Need char = 'a'  Need char = 'a'
1407    
1408  /"([^\\"]+|\\.)*"/  /"([^\\"]+|\\.)*"/I
1409  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1410  No options  No options
1411  First char = '"'  First char = '"'
1412  Need char = '"'  Need char = '"'
1413    
1414  /(abc|ab[cd])/  /(abc|ab[cd])/I
1415  Capturing subpattern count = 1  Capturing subpattern count = 1
1416  No options  No options
1417  First char = 'a'  First char = 'a'
1418  No need char  No need char
1419    
1420  /(a|.)/  /(a|.)/I
1421  Capturing subpattern count = 1  Capturing subpattern count = 1
1422  No options  No options
1423  No first char  No first char
1424  No need char  No need char
1425    
1426  /a|ba|\w/  /a|ba|\w/I
1427  Capturing subpattern count = 0  Capturing subpattern count = 0
1428  No options  No options
1429  No first char  No first char
1430  No need char  No need char
1431    
1432  /abc(?=pqr)/  /abc(?=pqr)/I
1433  Capturing subpattern count = 0  Capturing subpattern count = 0
1434  No options  No options
1435  First char = 'a'  First char = 'a'
1436  Need char = 'r'  Need char = 'r'
1437    
1438  /...(?<=abc)/  /...(?<=abc)/I
1439  Capturing subpattern count = 0  Capturing subpattern count = 0
1440    Max lookbehind = 3
1441  No options  No options
1442  No first char  No first char
1443  No need char  No need char
1444    
1445  /abc(?!pqr)/  /abc(?!pqr)/I
1446  Capturing subpattern count = 0  Capturing subpattern count = 0
1447  No options  No options
1448  First char = 'a'  First char = 'a'
1449  Need char = 'c'  Need char = 'c'
1450    
1451  /ab./  /ab./I
1452  Capturing subpattern count = 0  Capturing subpattern count = 0
1453  No options  No options
1454  First char = 'a'  First char = 'a'
1455  Need char = 'b'  Need char = 'b'
1456    
1457  /ab[xyz]/  /ab[xyz]/I
1458  Capturing subpattern count = 0  Capturing subpattern count = 0
1459  No options  No options
1460  First char = 'a'  First char = 'a'
1461  Need char = 'b'  Need char = 'b'
1462    
1463  /abc*/  /abc*/I
1464  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1465  No options  No options
1466  First char = 'a'  First char = 'a'
1467  Need char = 'b'  Need char = 'b'
1468    
1469  /ab.c*/  /ab.c*/I
1470  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1471  No options  No options
1472  First char = 'a'  First char = 'a'
1473  Need char = 'b'  Need char = 'b'
1474    
1475  /a.c*/  /a.c*/I
1476  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1477  No options  No options
1478  First char = 'a'  First char = 'a'
1479  No need char  No need char
1480    
1481  /.c*/  /.c*/I
1482  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1483  No options  No options
1484  No first char  No first char
1485  No need char  No need char
1486    
1487  /ac*/  /ac*/I
1488  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1489  No options  No options
1490  First char = 'a'  First char = 'a'
1491  No need char  No need char
1492    
1493  /(a.c*|b.c*)/  /(a.c*|b.c*)/I
1494  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1495  No options  No options
1496  No first char  No first char
1497  No need char  No need char
1498    
1499  /a.c*|aba/  /a.c*|aba/I
1500  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1501  No options  No options
1502  First char = 'a'  First char = 'a'
1503  No need char  No need char
1504    
1505  /.+a/  /.+a/I
1506  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1507  No options  No options
1508  No first char  No first char
1509  Need char = 'a'  Need char = 'a'
1510    
1511  /(?=abcda)a.*/  /(?=abcda)a.*/I
1512  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1513  No options  No options
1514  First char = 'a'  First char = 'a'
1515  Need char = 'a'  Need char = 'a'
1516    
1517  /(?=a)a.*/  /(?=a)a.*/I
1518  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1519  No options  No options
1520  First char = 'a'  First char = 'a'
1521  No need char  No need char
1522    
1523  /a(b)*/  /a(b)*/I
1524  Capturing subpattern count = 1  Capturing subpattern count = 1
1525  No options  No options
1526  First char = 'a'  First char = 'a'
1527  No need char  No need char
1528    
1529  /a\d*/  /a\d*/I
1530  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1531  No options  No options
1532  First char = 'a'  First char = 'a'
1533  No need char  No need char
1534    
1535  /ab\d*/  /ab\d*/I
1536  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1537  No options  No options
1538  First char = 'a'  First char = 'a'
1539  Need char = 'b'  Need char = 'b'
1540    
1541  /a(\d)*/  /a(\d)*/I
1542  Capturing subpattern count = 1  Capturing subpattern count = 1
1543  No options  No options
1544  First char = 'a'  First char = 'a'
1545  No need char  No need char
1546    
1547  /abcde{0,0}/  /abcde{0,0}/I
1548  Capturing subpattern count = 0  Capturing subpattern count = 0
1549  No options  No options
1550  First char = 'a'  First char = 'a'
1551  Need char = 'd'  Need char = 'd'
1552    
1553  /ab\d+/  /ab\d+/I
1554  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1555  No options  No options
1556  First char = 'a'  First char = 'a'
1557  Need char = 'b'  Need char = 'b'
1558    
1559  /a(?(1)b)/  /a(?(1)b)(.)/I
1560  Capturing subpattern count = 0  Capturing subpattern count = 1
1561  No options  No options
1562  First char = 'a'  First char = 'a'
1563  No need char  No need char
1564    
1565  /a(?(1)bag|big)/  /a(?(1)bag|big)(.)/I
1566  Capturing subpattern count = 0  Capturing subpattern count = 1
1567  No options  No options
1568  First char = 'a'  First char = 'a'
1569  Need char = 'g'  Need char = 'g'
1570    
1571  /a(?(1)bag|big)*/  /a(?(1)bag|big)*(.)/I
1572  Capturing subpattern count = 0  Capturing subpattern count = 1
1573  No options  No options
1574  First char = 'a'  First char = 'a'
1575  No need char  No need char
1576    
1577  /a(?(1)bag|big)+/  /a(?(1)bag|big)+(.)/I
1578  Capturing subpattern count = 0  Capturing subpattern count = 1
1579  No options  No options
1580  First char = 'a'  First char = 'a'
1581  Need char = 'g'  Need char = 'g'
1582    
1583  /a(?(1)b..|b..)/  /a(?(1)b..|b..)(.)/I
1584  Capturing subpattern count = 0  Capturing subpattern count = 1
1585  No options  No options
1586  First char = 'a'  First char = 'a'
1587  Need char = 'b'  Need char = 'b'
1588    
1589  /ab\d{0}e/  /ab\d{0}e/I
1590  Capturing subpattern count = 0  Capturing subpattern count = 0
1591  No options  No options
1592  First char = 'a'  First char = 'a'
1593  Need char = 'e'  Need char = 'e'
1594    
1595  /a?b?/  /a?b?/I
1596  Capturing subpattern count = 0  Capturing subpattern count = 0
1597  No options  No options
1598  No first char  No first char
# Line 1655  No need char Line 1607  No need char
1607   0:   0:
1608      *** Failers      *** Failers
1609   0:   0:
1610      \N      \N
1611  No match  No match
1612    
1613  /|-/  /|-/I
1614  Capturing subpattern count = 0  Capturing subpattern count = 0
1615  No options  No options
1616  No first char  No first char
# Line 1671  No need char Line 1623  No need char
1623   0: -   0: -
1624      *** Failers      *** Failers
1625   0:   0:
1626      \Nabc      \Nabc
1627  No match  No match
1628    
1629  /a*(b+)(z)(z)/P  /^.?abcd/IS
     aaaabbbbzzzz  
  0: aaaabbbbzz  
  1: bbbb  
  2: z  
  3: z  
     aaaabbbbzzzz\O0  
     aaaabbbbzzzz\O1  
  0: aaaabbbbzz  
     aaaabbbbzzzz\O2  
  0: aaaabbbbzz  
  1: bbbb  
     aaaabbbbzzzz\O3  
  0: aaaabbbbzz  
  1: bbbb  
  2: z  
     aaaabbbbzzzz\O4  
  0: aaaabbbbzz  
  1: bbbb  
  2: z  
  3: z  
     aaaabbbbzzzz\O5  
  0: aaaabbbbzz  
  1: bbbb  
  2: z  
  3: z  
   
 /^.?abcd/S  
1630  Capturing subpattern count = 0  Capturing subpattern count = 0
1631  Options: anchored  Options: anchored
1632  No first char  No first char
1633  Need char = 'd'  Need char = 'd'
1634  Study returned NULL  Subject length lower bound = 4
1635    No set of starting bytes
1636    
1637  /\(             # ( at start  /\(             # ( at start
1638    (?:           # Non-capturing bracket    (?:           # Non-capturing bracket
# Line 1715  Study returned NULL Line 1641  Study returned NULL
1641    (?R)          # Recurse - i.e. nested bracketed string    (?R)          # Recurse - i.e. nested bracketed string
1642    )*            # Zero or more contents    )*            # Zero or more contents
1643    \)            # Closing )    \)            # Closing )
1644    /x    /Ix
1645  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1646  Options: extended  Options: extended
1647  First char = '('  First char = '('
1648  Need char = ')'  Need char = ')'
# Line 1727  Need char = ')' Line 1652  Need char = ')'
1652   0: (abcd)   0: (abcd)
1653      xyz(abcd)      xyz(abcd)
1654   0: (abcd)   0: (abcd)
1655      (ab(xy)cd)pqr      (ab(xy)cd)pqr
1656   0: (ab(xy)cd)   0: (ab(xy)cd)
1657      (ab(xycd)pqr      (ab(xycd)pqr
1658   0: (xycd)   0: (xycd)
1659      () abc ()      () abc ()
1660   0: ()   0: ()
1661      12(abcde(fsh)xyz(foo(bar))lmno)89      12(abcde(fsh)xyz(foo(bar))lmno)89
1662   0: (abcde(fsh)xyz(foo(bar))lmno)   0: (abcde(fsh)xyz(foo(bar))lmno)
1663      *** Failers      *** Failers
1664  No match  No match
1665      abcd      abcd
1666  No match  No match
1667      abcd)      abcd)
1668  No match  No match
1669      (abcd      (abcd
1670  No match  No match
1671    
1672  /\(  ( (?>[^()]+) | (?R) )* \) /xg  /\(  ( (?>[^()]+) | (?R) )* \) /Ixg
1673  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1674  Options: extended  Options: extended
1675  First char = '('  First char = '('
1676  Need char = ')'  Need char = ')'
1677      (ab(xy)cd)pqr      (ab(xy)cd)pqr
1678   0: (ab(xy)cd)   0: (ab(xy)cd)
1679   1: cd   1: cd
1680      1(abcd)(x(y)z)pqr      1(abcd)(x(y)z)pqr
# Line 1759  Need char = ')' Line 1683  Need char = ')'
1683   0: (x(y)z)   0: (x(y)z)
1684   1: z   1: z
1685    
1686  /\(  (?: (?>[^()]+) | (?R) ) \) /x  /\(  (?: (?>[^()]+) | (?R) ) \) /Ix
1687  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1688  Options: extended  Options: extended
1689  First char = '('  First char = '('
1690  Need char = ')'  Need char = ')'
# Line 1769  Need char = ')' Line 1692  Need char = ')'
1692   0: (abcd)   0: (abcd)
1693      (ab(xy)cd)      (ab(xy)cd)
1694   0: (xy)   0: (xy)
1695      (a(b(c)d)e)      (a(b(c)d)e)
1696   0: (c)   0: (c)
1697      ((ab))      ((ab))
1698   0: ((ab))   0: ((ab))
1699      *** Failers      *** Failers
1700  No match  No match
1701      ()      ()
1702  No match  No match
1703    
1704  /\(  (?: (?>[^()]+) | (?R) )? \) /x  /\(  (?: (?>[^()]+) | (?R) )? \) /Ix
1705  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1706  Options: extended  Options: extended
1707  First char = '('  First char = '('
1708  Need char = ')'  Need char = ')'
# Line 1789  Need char = ')' Line 1711  Need char = ')'
1711      12(abcde(fsh)xyz(foo(bar))lmno)89      12(abcde(fsh)xyz(foo(bar))lmno)89
1712   0: (fsh)   0: (fsh)
1713    
1714  /\(  ( (?>[^()]+) | (?R) )* \) /x  /\(  ( (?>[^()]+) | (?R) )* \) /Ix
1715  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1716  Options: extended  Options: extended
1717  First char = '('  First char = '('
1718  Need char = ')'  Need char = ')'
# Line 1799  Need char = ')' Line 1720  Need char = ')'
1720   0: (ab(xy)cd)   0: (ab(xy)cd)
1721   1: cd   1: cd
1722    
1723  /\( ( ( (?>[^()]+) | (?R) )* ) \) /x  /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix
1724  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
1725  Options: extended  Options: extended
1726  First char = '('  First char = '('
1727  Need char = ')'  Need char = ')'
# Line 1810  Need char = ')' Line 1730  Need char = ')'
1730   1: ab(xy)cd   1: ab(xy)cd
1731   2: cd   2: cd
1732    
1733  /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /x  /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix
1734  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
1735  Options: extended  Options: extended
1736  First char = '('  First char = '('
1737  Need char = ')'  Need char = ')'
# Line 1827  Need char = ')' Line 1746  Need char = ')'
1746   2: ab(xy)cd   2: ab(xy)cd
1747   3: cd   3: cd
1748    
1749  /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /x  /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix
1750  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
1751  Options: extended  Options: extended
1752  First char = '('  First char = '('
1753  Need char = ')'  Need char = ')'
# Line 1844  Need char = ')' Line 1762  Need char = ')'
1762   2: 123   2: 123
1763   3: cd   3: cd
1764    
1765  /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /x  /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix
1766  Capturing subpattern count = 11  Capturing subpattern count = 11
 Partial matching not supported  
1767  Options: extended  Options: extended
1768  First char = '('  First char = '('
1769  Need char = ')'  Need char = ')'
# Line 1864  Need char = ')' Line 1781  Need char = ')'
1781  10: ab(xy)cd  10: ab(xy)cd
1782  11: cd  11: cd
1783    
1784  /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /x  /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix
1785  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
1786  Options: extended  Options: extended
1787  First char = '('  First char = '('
1788  Need char = ')'  Need char = ')'
# Line 1874  Need char = ')' Line 1790  Need char = ')'
1790   0: (abcd(xyz<p>qrs)123)   0: (abcd(xyz<p>qrs)123)
1791   1: abcd(xyz<p>qrs)123   1: abcd(xyz<p>qrs)123
1792   2: 123   2: 123
  3: <unset>  
1793    
1794  /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /x  /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix
1795  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
1796  Options: extended  Options: extended
1797  First char = '('  First char = '('
1798  Need char = ')'  Need char = ')'
# Line 1893  Need char = ')' Line 1807  Need char = ')'
1807   2: ij   2: ij
1808   3: (cd(ef)gh)   3: (cd(ef)gh)
1809    
1810  /^[[:alnum:]]/D  /^[[:alnum:]]/DZ
1811    ------------------------------------------------------------------
1812            Bra
1813            ^
1814            [0-9A-Za-z]
1815            Ket
1816            End
1817    ------------------------------------------------------------------
1818    Capturing subpattern count = 0
1819    Options: anchored
1820    No first char
1821    No need char
1822    
1823    /^[[:^alnum:]]/DZ
1824  ------------------------------------------------------------------  ------------------------------------------------------------------
1825    0  37 Bra 0          Bra
1826    3     ^          ^
1827    4     [0-9A-Za-z]          [\x00-/:-@[-`{-\xff] (neg)
1828   37  37 Ket          Ket
1829   40     End          End
1830  ------------------------------------------------------------------  ------------------------------------------------------------------
1831  Capturing subpattern count = 0  Capturing subpattern count = 0
1832  Options: anchored  Options: anchored
1833  No first char  No first char
1834  No need char  No need char
1835    
1836  /^[[:^alnum:]]/D  /^[[:alpha:]]/DZ
1837  ------------------------------------------------------------------  ------------------------------------------------------------------
1838    0  37 Bra 0          Bra
1839    3     ^          ^
1840    4     [\x00-/:-@[-`{-\xff]          [A-Za-z]
1841   37  37 Ket          Ket
1842   40     End          End
1843  ------------------------------------------------------------------  ------------------------------------------------------------------
1844  Capturing subpattern count = 0  Capturing subpattern count = 0
1845  Options: anchored  Options: anchored
1846  No first char  No first char
1847  No need char  No need char
1848    
1849  /^[[:alpha:]]/D  /^[[:^alpha:]]/DZ
1850  ------------------------------------------------------------------  ------------------------------------------------------------------
1851    0  37 Bra 0          Bra
1852    3     ^          ^
1853    4     [A-Za-z]          [\x00-@[-`{-\xff] (neg)
1854   37  37 Ket          Ket
1855   40     End          End
1856  ------------------------------------------------------------------  ------------------------------------------------------------------
1857  Capturing subpattern count = 0  Capturing subpattern count = 0
1858  Options: anchored  Options: anchored
1859  No first char  No first char
1860  No need char  No need char
1861    
1862  /^[[:^alpha:]]/D  /[_[:alpha:]]/IS
1863    Capturing subpattern count = 0
1864    No options
1865    No first char
1866    No need char
1867    Subject length lower bound = 1
1868    Starting byte set: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
1869      _ a b c d e f g h i j k l m n o p q r s t u v w x y z
1870    
1871    /^[[:ascii:]]/DZ
1872  ------------------------------------------------------------------  ------------------------------------------------------------------
1873    0  37 Bra 0          Bra
1874    3     ^          ^
1875    4     [\x00-@[-`{-\xff]          [\x00-\x7f]
1876   37  37 Ket          Ket
1877   40     End          End
1878  ------------------------------------------------------------------  ------------------------------------------------------------------
1879  Capturing subpattern count = 0  Capturing subpattern count = 0
1880  Options: anchored  Options: anchored
1881  No first char  No first char
1882  No need char  No need char
1883    
1884  /^[[:ascii:]]/D  /^[[:^ascii:]]/DZ
1885  ------------------------------------------------------------------  ------------------------------------------------------------------
1886    0  37 Bra 0          Bra
1887    3     ^          ^
1888    4     [\x00-\x7f]          [\x80-\xff] (neg)
1889   37  37 Ket          Ket
1890   40     End          End
1891  ------------------------------------------------------------------  ------------------------------------------------------------------
1892  Capturing subpattern count = 0  Capturing subpattern count = 0
1893  Options: anchored  Options: anchored
1894  No first char  No first char
1895  No need char  No need char
1896    
1897  /^[[:^ascii:]]/D  /^[[:blank:]]/DZ
1898  ------------------------------------------------------------------  ------------------------------------------------------------------
1899    0  37 Bra 0          Bra
1900    3     ^          ^
1901    4     [\x80-\xff]          [\x09 ]
1902   37  37 Ket          Ket
1903   40     End          End
1904  ------------------------------------------------------------------  ------------------------------------------------------------------
1905  Capturing subpattern count = 0  Capturing subpattern count = 0
1906  Options: anchored  Options: anchored
1907  No first char  No first char
1908  No need char  No need char
1909    
1910  /^[[:blank:]]/D  /^[[:^blank:]]/DZ
1911  ------------------------------------------------------------------  ------------------------------------------------------------------
1912    0  37 Bra 0          Bra
1913    3     ^          ^
1914    4     [\x09 ]          [\x00-\x08\x0a-\x1f!-\xff] (neg)
1915   37  37 Ket          Ket
1916   40     End          End
1917  ------------------------------------------------------------------  ------------------------------------------------------------------
1918  Capturing subpattern count = 0  Capturing subpattern count = 0
1919  Options: anchored  Options: anchored
1920  No first char  No first char
1921  No need char  No need char
1922    
1923  /^[[:cntrl:]]/D  /[\n\x0b\x0c\x0d[:blank:]]/IS
1924    Capturing subpattern count = 0
1925    Contains explicit CR or LF match
1926    No options
1927    No first char
1928    No need char
1929    Subject length lower bound = 1
1930    Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20
1931    
1932    /^[[:cntrl:]]/DZ
1933  ------------------------------------------------------------------  ------------------------------------------------------------------
1934    0  37 Bra 0          Bra
1935    3     ^          ^
1936    4     [\x00-\x1f\x7f]          [\x00-\x1f\x7f]
1937   37  37 Ket          Ket
1938   40     End          End
1939  ------------------------------------------------------------------  ------------------------------------------------------------------
1940  Capturing subpattern count = 0  Capturing subpattern count = 0
1941  Options: anchored  Options: anchored
1942  No first char  No first char
1943  No need char  No need char
1944    
1945  /^[[:digit:]]/D  /^[[:digit:]]/DZ
1946  ------------------------------------------------------------------  ------------------------------------------------------------------
1947    0  37 Bra 0          Bra
1948    3     ^          ^
1949    4     [0-9]          [0-9]
1950   37  37 Ket          Ket
1951   40     End          End
1952  ------------------------------------------------------------------  ------------------------------------------------------------------
1953  Capturing subpattern count = 0  Capturing subpattern count = 0
1954  Options: anchored  Options: anchored
1955  No first char  No first char
1956  No need char  No need char
1957    
1958  /^[[:graph:]]/D  /^[[:graph:]]/DZ
1959  ------------------------------------------------------------------  ------------------------------------------------------------------
1960    0  37 Bra 0          Bra
1961    3     ^          ^
1962    4     [!-~]          [!-~]
1963   37  37 Ket          Ket
1964   40     End          End
1965  ------------------------------------------------------------------  ------------------------------------------------------------------
1966  Capturing subpattern count = 0  Capturing subpattern count = 0
1967  Options: anchored  Options: anchored
1968  No first char  No first char
1969  No need char  No need char
1970    
1971  /^[[:lower:]]/D  /^[[:lower:]]/DZ
1972  ------------------------------------------------------------------  ------------------------------------------------------------------
1973    0  37 Bra 0          Bra
1974    3     ^          ^
1975    4     [a-z]          [a-z]
1976   37  37 Ket          Ket
1977   40     End          End
1978  ------------------------------------------------------------------  ------------------------------------------------------------------
1979  Capturing subpattern count = 0  Capturing subpattern count = 0
1980  Options: anchored  Options: anchored
1981  No first char  No first char
1982  No need char  No need char
1983    
1984  /^[[:print:]]/D  /^[[:print:]]/DZ
1985  ------------------------------------------------------------------  ------------------------------------------------------------------
1986    0  37 Bra 0          Bra
1987    3     ^          ^
1988    4     [ -~]          [ -~]
1989   37  37 Ket          Ket
1990   40     End          End
1991  ------------------------------------------------------------------  ------------------------------------------------------------------
1992  Capturing subpattern count = 0  Capturing subpattern count = 0
1993  Options: anchored  Options: anchored
1994  No first char  No first char
1995  No need char  No need char
1996    
1997  /^[[:punct:]]/D  /^[[:punct:]]/DZ
1998  ------------------------------------------------------------------  ------------------------------------------------------------------
1999    0  37 Bra 0          Bra
2000    3     ^          ^
2001    4     [!-/:-@[-`{-~]          [!-/:-@[-`{-~]
2002   37  37 Ket          Ket
2003   40     End          End
2004  ------------------------------------------------------------------  ------------------------------------------------------------------
2005  Capturing subpattern count = 0  Capturing subpattern count = 0
2006  Options: anchored  Options: anchored
2007  No first char  No first char
2008  No need char  No need char
2009    
2010  /^[[:space:]]/D  /^[[:space:]]/DZ
2011  ------------------------------------------------------------------  ------------------------------------------------------------------
2012    0  37 Bra 0          Bra
2013    3     ^          ^
2014    4     [\x09-\x0d ]          [\x09-\x0d ]
2015   37  37 Ket          Ket
2016   40     End          End
2017  ------------------------------------------------------------------  ------------------------------------------------------------------
2018  Capturing subpattern count = 0  Capturing subpattern count = 0
2019  Options: anchored  Options: anchored
2020  No first char  No first char
2021  No need char  No need char
2022    
2023  /^[[:upper:]]/D  /^[[:upper:]]/DZ
2024  ------------------------------------------------------------------  ------------------------------------------------------------------
2025    0  37 Bra 0          Bra
2026    3     ^          ^
2027    4     [A-Z]          [A-Z]
2028   37  37 Ket          Ket
2029   40     End          End
2030  ------------------------------------------------------------------  ------------------------------------------------------------------
2031  Capturing subpattern count = 0  Capturing subpattern count = 0
2032  Options: anchored  Options: anchored
2033  No first char  No first char
2034  No need char  No need char
2035    
2036  /^[[:xdigit:]]/D  /^[[:xdigit:]]/DZ
2037  ------------------------------------------------------------------  ------------------------------------------------------------------
2038    0  37 Bra 0          Bra
2039    3     ^          ^
2040    4     [0-9A-Fa-f]          [0-9A-Fa-f]
2041   37  37 Ket          Ket
2042   40     End          End
2043  ------------------------------------------------------------------  ------------------------------------------------------------------
2044  Capturing subpattern count = 0  Capturing subpattern count = 0
2045  Options: anchored  Options: anchored
2046  No first char  No first char
2047  No need char  No need char
2048    
2049  /^[[:word:]]/D  /^[[:word:]]/DZ
2050  ------------------------------------------------------------------  ------------------------------------------------------------------
2051    0  37 Bra 0          Bra
2052    3     ^          ^
2053    4     [0-9A-Z_a-z]          [0-9A-Z_a-z]
2054   37  37 Ket          Ket
2055   40     End          End
2056  ------------------------------------------------------------------  ------------------------------------------------------------------
2057  Capturing subpattern count = 0  Capturing subpattern count = 0
2058  Options: anchored  Options: anchored
2059  No first char  No first char
2060  No need char  No need char
2061    
2062  /^[[:^cntrl:]]/D  /^[[:^cntrl:]]/DZ
2063  ------------------------------------------------------------------  ------------------------------------------------------------------
2064    0  37 Bra 0          Bra
2065    3     ^          ^
2066    4     [ -~\x80-\xff]          [ -~\x80-\xff] (neg)
2067   37  37 Ket          Ket
2068   40     End          End
2069  ------------------------------------------------------------------  ------------------------------------------------------------------
2070  Capturing subpattern count = 0  Capturing subpattern count = 0
2071  Options: anchored  Options: anchored
2072  No first char  No first char
2073  No need char  No need char
2074    
2075  /^[12[:^digit:]]/D  /^[12[:^digit:]]/DZ
2076  ------------------------------------------------------------------  ------------------------------------------------------------------
2077    0  37 Bra 0          Bra
2078    3     ^          ^
2079    4     [\x00-/12:-\xff]          [\x00-/12:-\xff] (neg)
2080   37  37 Ket          Ket
2081   40     End          End
2082  ------------------------------------------------------------------  ------------------------------------------------------------------
2083  Capturing subpattern count = 0  Capturing subpattern count = 0
2084  Options: anchored  Options: anchored
2085  No first char  No first char
2086  No need char  No need char
2087    
2088  /^[[:^blank:]]/D  /^[[:^blank:]]/DZ
2089  ------------------------------------------------------------------  ------------------------------------------------------------------
2090    0  37 Bra 0          Bra
2091    3     ^          ^
2092    4     [\x00-\x08\x0a-\x1f!-\xff]          [\x00-\x08\x0a-\x1f!-\xff] (neg)
2093   37  37 Ket          Ket
2094   40     End          End
2095  ------------------------------------------------------------------  ------------------------------------------------------------------
2096  Capturing subpattern count = 0  Capturing subpattern count = 0
2097  Options: anchored  Options: anchored
2098  No first char  No first char
2099  No need char  No need char
2100    
2101  /[01[:alpha:]%]/D  /[01[:alpha:]%]/DZ
2102  ------------------------------------------------------------------  ------------------------------------------------------------------
2103    0  36 Bra 0          Bra
2104    3     [%01A-Za-z]          [%01A-Za-z]
2105   36  36 Ket          Ket
2106   39     End          End
2107  ------------------------------------------------------------------  ------------------------------------------------------------------
2108  Capturing subpattern count = 0  Capturing subpattern count = 0
2109  No options  No options
2110  No first char  No first char
2111  No need char  No need char
2112    
2113  /[[.ch.]]/  /[[.ch.]]/I
2114  Failed: POSIX collating elements are not supported at offset 1  Failed: POSIX collating elements are not supported at offset 1
2115    
2116  /[[=ch=]]/  /[[=ch=]]/I
2117  Failed: POSIX collating elements are not supported at offset 1  Failed: POSIX collating elements are not supported at offset 1
2118    
2119  /[[:rhubarb:]]/  /[[:rhubarb:]]/I
2120  Failed: unknown POSIX class name at offset 3  Failed: unknown POSIX class name at offset 3
2121    
2122  /[[:upper:]]/i  /[[:upper:]]/Ii
2123  Capturing subpattern count = 0  Capturing subpattern count = 0
2124  Options: caseless  Options: caseless
2125  No first char  No first char
2126  No need char  No need char
2127      A      A
2128   0: A   0: A
2129      a      a
2130   0: a   0: a
2131    
2132  /[[:lower:]]/i  /[[:lower:]]/Ii
2133  Capturing subpattern count = 0  Capturing subpattern count = 0
2134  Options: caseless  Options: caseless
2135  No first char  No first char
2136  No need char  No need char
2137      A      A
2138   0: A   0: A
2139      a      a
2140   0: a   0: a
2141    
2142  /((?-i)[[:lower:]])[[:lower:]]/i  /((?-i)[[:lower:]])[[:lower:]]/Ii
2143  Capturing subpattern count = 1  Capturing subpattern count = 1
2144  Options: caseless  Options: caseless
 Case state changes  
2145  No first char  No first char
2146  No need char  No need char
2147      ab      ab
# Line 2211  No need char Line 2155  No need char
2155   1: a   1: a
2156      Ab      Ab
2157  No match  No match
2158      AB      AB
2159  No match  No match
2160    
2161  /[\200-\410]/  /[\200-\110]/I
2162  Failed: range out of order in character class at offset 9  Failed: range out of order in character class at offset 9
2163    
2164  /^(?(0)f|b)oo/  /^(?(0)f|b)oo/I
2165  Failed: invalid condition (?(0) at offset 5  Failed: invalid condition (?(0) at offset 6
2166    
2167  /This one's here because of the large output vector needed/  /This one's here because of the large output vector needed/I
2168  Capturing subpattern count = 0  Capturing subpattern count = 0
2169  No options  No options
2170  First char = 'T'  First char = 'T'
2171  Need char = 'd'  Need char = 'd'
2172    
2173  /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\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)/  /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\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
2174  Capturing subpattern count = 271  Capturing subpattern count = 271
2175  Max back reference = 270  Max back reference = 270
 Partial matching not supported  
2176  No options  No options
2177  No first char  No first char
2178  No need char  No need char
# Line 2507  No need char Line 2450  No need char
2450  270: ABC  270: ABC
2451  271: ABC  271: ABC
2452    
2453  /This one's here because Perl does this differently and PCRE can't at present/  /This one's here because Perl does this differently and PCRE can't at present/I
2454  Capturing subpattern count = 0  Capturing subpattern count = 0
2455  No options  No options
2456  First char = 'T'  First char = 'T'
2457  Need char = 't'  Need char = 't'
2458    
2459  /(main(O)?)+/  /(main(O)?)+/I
2460  Capturing subpattern count = 2  Capturing subpattern count = 2
2461  No options  No options
2462  First char = 'm'  First char = 'm'
# Line 2525  Need char = 'n' Line 2468  Need char = 'n'
2468   0: mainOmain   0: mainOmain
2469   1: main   1: main
2470   2: O   2: O
2471    
2472  /These are all cases where Perl does it differently (nested captures)/  /These are all cases where Perl does it differently (nested captures)/I
2473  Capturing subpattern count = 1  Capturing subpattern count = 1
2474  No options  No options
2475  First char = 'T'  First char = 'T'
2476  Need char = 's'  Need char = 's'
2477    
2478  /^(a(b)?)+$/  /^(a(b)?)+$/I
2479  Capturing subpattern count = 2  Capturing subpattern count = 2
2480  Options: anchored  Options: anchored
2481  No first char  No first char
# Line 2541  No need char Line 2484  No need char
2484   0: aba   0: aba
2485   1: a   1: a
2486   2: b   2: b
2487    
2488  /^(aa(bb)?)+$/  /^(aa(bb)?)+$/I
2489  Capturing subpattern count = 2  Capturing subpattern count = 2
2490  Options: anchored  Options: anchored
2491  No first char  No first char
2492  No need char  No need char
2493      aabbaa      aabbaa
2494   0: aabbaa   0: aabbaa
2495   1: aa   1: aa
2496   2: bb   2: bb
2497    
2498  /^(aa|aa(bb))+$/  /^(aa|aa(bb))+$/I
2499  Capturing subpattern count = 2  Capturing subpattern count = 2
2500  Options: anchored  Options: anchored
2501  No first char  No first char
2502  No need char  No need char
2503      aabbaa      aabbaa
2504   0: aabbaa   0: aabbaa
2505   1: aa   1: aa
2506   2: bb   2: bb
2507    
2508  /^(aa(bb)??)+$/  /^(aa(bb)??)+$/I
2509  Capturing subpattern count = 2  Capturing subpattern count = 2
2510  Options: anchored  Options: anchored
2511  No first char  No first char
2512  No need char  No need char
2513      aabbaa      aabbaa
2514   0: aabbaa   0: aabbaa
2515   1: aa   1: aa
2516   2: bb   2: bb
2517    
2518  /^(?:aa(bb)?)+$/  /^(?:aa(bb)?)+$/I
2519  Capturing subpattern count = 1  Capturing subpattern count = 1
2520  Options: anchored  Options: anchored
2521  No first char  No first char
2522  No need char  No need char
2523      aabbaa      aabbaa
2524   0: aabbaa   0: aabbaa
2525   1: bb   1: bb
2526    
2527  /^(aa(b(b))?)+$/  /^(aa(b(b))?)+$/I
2528  Capturing subpattern count = 3  Capturing subpattern count = 3
2529  Options: anchored  Options: anchored
2530  No first char  No first char
2531  No need char  No need char
2532      aabbaa      aabbaa
2533   0: aabbaa   0: aabbaa
2534   1: aa   1: aa
2535   2: bb   2: bb
2536   3: b   3: b
2537    
2538  /^(?:aa(b(b))?)+$/  /^(?:aa(b(b))?)+$/I
2539  Capturing subpattern count = 2  Capturing subpattern count = 2
2540  Options: anchored  Options: anchored
2541  No first char  No first char
2542  No need char  No need char
2543      aabbaa      aabbaa
2544   0: aabbaa   0: aabbaa
2545   1: bb   1: bb
2546   2: b   2: b
2547    
2548  /^(?:aa(b(?:b))?)+$/  /^(?:aa(b(?:b))?)+$/I
2549  Capturing subpattern count = 1  Capturing subpattern count = 1
2550  Options: anchored  Options: anchored
2551  No first char  No first char
2552  No need char  No need char
2553      aabbaa      aabbaa
2554   0: aabbaa   0: aabbaa
2555   1: bb   1: bb
2556    
2557  /^(?:aa(bb(?:b))?)+$/  /^(?:aa(bb(?:b))?)+$/I
2558  Capturing subpattern count = 1  Capturing subpattern count = 1
2559  Options: anchored  Options: anchored
2560  No first char  No first char
2561  No need char  No need char
2562      aabbbaa      aabbbaa
2563   0: aabbbaa   0: aabbbaa
2564   1: bbb   1: bbb
2565    
2566  /^(?:aa(b(?:bb))?)+$/  /^(?:aa(b(?:bb))?)+$/I
2567  Capturing subpattern count = 1  Capturing subpattern count = 1
2568  Options: anchored  Options: anchored
2569  No first char  No first char
2570  No need char  No need char
2571      aabbbaa      aabbbaa
2572   0: aabbbaa   0: aabbbaa
2573   1: bbb   1: bbb
2574    
2575  /^(?:aa(?:b(b))?)+$/  /^(?:aa(?:b(b))?)+$/I
2576  Capturing subpattern count = 1  Capturing subpattern count = 1
2577  Options: anchored  Options: anchored
2578  No first char  No first char
2579  No need char  No need char
2580      aabbaa      aabbaa
2581   0: aabbaa   0: aabbaa
2582   1: b   1: b
2583    
2584  /^(?:aa(?:b(bb))?)+$/  /^(?:aa(?:b(bb))?)+$/I
2585  Capturing subpattern count = 1  Capturing subpattern count = 1
2586  Options: anchored  Options: anchored
2587  No first char  No first char
2588  No need char  No need char
2589      aabbbaa      aabbbaa
2590   0: aabbbaa   0: aabbbaa
2591   1: bb   1: bb
2592    
2593  /^(aa(b(bb))?)+$/  /^(aa(b(bb))?)+$/I
2594  Capturing subpattern count = 3  Capturing subpattern count = 3
2595  Options: anchored  Options: anchored
2596  No first char  No first char
2597  No need char  No need char
2598      aabbbaa      aabbbaa
2599   0: aabbbaa   0: aabbbaa
2600   1: aa   1: aa
2601   2: bbb   2: bbb
2602   3: bb   3: bb
2603    
2604  /^(aa(bb(bb))?)+$/  /^(aa(bb(bb))?)+$/I
2605  Capturing subpattern count = 3  Capturing subpattern count = 3
2606  Options: anchored  Options: anchored
2607  No first char  No first char
2608  No need char  No need char
2609      aabbbbaa      aabbbbaa
2610   0: aabbbbaa   0: aabbbbaa
2611   1: aa   1: aa
2612   2: bbbb   2: bbbb
2613   3: bb   3: bb
2614    
2615  /--------------------------------------------------------------------/  /--------------------------------------------------------------------/I
2616  Capturing subpattern count = 0  Capturing subpattern count = 0
2617  No options  No options
2618  First char = '-'  First char = '-'
2619  Need char = '-'  Need char = '-'
2620    
2621  /#/xMD  /#/IxDZ
 Memory allocation (code space): 7  
2622  ------------------------------------------------------------------  ------------------------------------------------------------------
2623    0   3 Bra 0          Bra
2624    3   3 Ket          Ket
2625    6     End          End
2626  ------------------------------------------------------------------  ------------------------------------------------------------------
2627  Capturing subpattern count = 0  Capturing subpattern count = 0
2628  Options: extended  Options: extended
2629  No first char  No first char
2630  No need char  No need char
2631    
2632  /a#/xMD  /a#/IxDZ
 Memory allocation (code space): 9  
2633  ------------------------------------------------------------------  ------------------------------------------------------------------
2634    0   5 Bra 0          Bra
2635    3     a          a
2636    5   5 Ket          Ket
2637    8     End          End
2638  ------------------------------------------------------------------  ------------------------------------------------------------------
2639  Capturing subpattern count = 0  Capturing subpattern count = 0
2640  Options: extended  Options: extended
2641  First char = 'a'  First char = 'a'
2642  No need char  No need char
2643    
2644  /[\s]/D  /[\s]/DZ
2645  ------------------------------------------------------------------  ------------------------------------------------------------------
2646    0  36 Bra 0          Bra
2647    3     [\x09\x0a\x0c\x0d ]          [\x09\x0a\x0c\x0d ]
2648   36  36 Ket          Ket
2649   39     End          End
2650  ------------------------------------------------------------------  ------------------------------------------------------------------
2651  Capturing subpattern count = 0  Capturing subpattern count = 0
2652  No options  No options
2653  No first char  No first char
2654  No need char  No need char
2655    
2656  /[\S]/D  /[\S]/DZ
2657  ------------------------------------------------------------------  ------------------------------------------------------------------
2658    0  36 Bra 0          Bra
2659    3     [\x00-\x08\x0b\x0e-\x1f!-\xff]          [\x00-\x08\x0b\x0e-\x1f!-\xff] (neg)
2660   36  36 Ket          Ket
2661   39     End          End
2662  ------------------------------------------------------------------  ------------------------------------------------------------------
2663  Capturing subpattern count = 0  Capturing subpattern count = 0
2664  No options  No options
2665  No first char  No first char
2666  No need char  No need char
2667    
2668  /a(?i)b/D  /a(?i)b/DZ
2669  ------------------------------------------------------------------  ------------------------------------------------------------------
2670    0   9 Bra 0          Bra
2671    3     a          a
2672    5  01 Opt       /i b
2673    7  NC b          Ket
2674    9   9 Ket          End
  12     End  
2675  ------------------------------------------------------------------  ------------------------------------------------------------------
2676  Capturing subpattern count = 0  Capturing subpattern count = 0
2677  No options  No options
 Case state changes  
2678  First char = 'a'  First char = 'a'
2679  Need char = 'b' (caseless)  Need char = 'b' (caseless)
2680      ab      ab
2681   0: ab   0: ab
2682      aB      aB
2683   0: aB   0: aB
2684      *** Failers      *** Failers
2685  No match  No match
2686      AB      AB
2687  No match  No match
2688    
2689  /(a(?i)b)/D  /(a(?i)b)/DZ
2690  ------------------------------------------------------------------  ------------------------------------------------------------------
2691    0  17 Bra 0          Bra
2692    3   9 Bra 1          CBra 1
2693    6     a          a
2694    8  01 Opt       /i b
2695   10  NC b          Ket
2696   12   9 Ket          Ket
2697   15  00 Opt          End
  17  17 Ket  
  20     End  
2698  ------------------------------------------------------------------  ------------------------------------------------------------------
2699  Capturing subpattern count = 1  Capturing subpattern count = 1
2700  No options  No options
 Case state changes  
2701  First char = 'a'  First char = 'a'
2702  Need char = 'b' (caseless)  Need char = 'b' (caseless)
2703      ab      ab
# Line 2770  Need char = 'b' (caseless) Line 2706  Need char = 'b' (caseless)
2706      aB      aB
2707   0: aB   0: aB
2708   1: aB   1: aB
2709      *** Failers      *** Failers
2710  No match  No match
2711      AB      AB
2712  No match  No match
2713    
2714  /   (?i)abc/xD  /   (?i)abc/IxDZ
2715  ------------------------------------------------------------------  ------------------------------------------------------------------
2716    0   9 Bra 0          Bra
2717    3  NC abc       /i abc
2718    9   9 Ket          Ket
2719   12     End          End
2720  ------------------------------------------------------------------  ------------------------------------------------------------------
2721  Capturing subpattern count = 0  Capturing subpattern count = 0
2722  Options: caseless extended  Options: caseless extended
# Line 2788  First char = 'a' (caseless) Line 2724  First char = 'a' (caseless)
2724  Need char = 'c' (caseless)  Need char = 'c' (caseless)
2725    
2726  /#this is a comment  /#this is a comment
2727    (?i)abc/xD    (?i)abc/IxDZ
2728  ------------------------------------------------------------------  ------------------------------------------------------------------
2729    0   9 Bra 0          Bra
2730    3  NC abc       /i abc
2731    9   9 Ket          Ket
2732   12     End          End
2733  ------------------------------------------------------------------  ------------------------------------------------------------------
2734  Capturing subpattern count = 0  Capturing subpattern count = 0
2735  Options: caseless extended  Options: caseless extended
2736  First char = 'a' (caseless)  First char = 'a' (caseless)
2737  Need char = 'c' (caseless)  Need char = 'c' (caseless)
2738    
2739  /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/D  /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
2740  ------------------------------------------------------------------  ------------------------------------------------------------------
2741    0 603 Bra 0          Bra
2742    3     123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890          123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
2743  603 603 Ket          Ket
2744  606     End          End
2745  ------------------------------------------------------------------  ------------------------------------------------------------------
2746  Capturing subpattern count = 0  Capturing subpattern count = 0
2747  No options  No options
2748  First char = '1'  First char = '1'
2749  Need char = '0'  Need char = '0'
2750    
2751  /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/D  /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
2752  ------------------------------------------------------------------  ------------------------------------------------------------------
2753    0 603 Bra 0          Bra
2754    3     123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890          123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
2755  603 603 Ket          Ket
2756  606     End          End
2757  ------------------------------------------------------------------  ------------------------------------------------------------------
2758  Capturing subpattern count = 0  Capturing subpattern count = 0
2759  No options  No options
2760  First char = '1'  First char = '1'
2761  Need char = '0'  Need char = '0'
2762    
2763  /\Q\E/D  /\Q\E/DZ
2764  ------------------------------------------------------------------  ------------------------------------------------------------------
2765    0   3 Bra 0          Bra
2766    3   3 Ket          Ket
2767    6     End          End
2768  ------------------------------------------------------------------  ------------------------------------------------------------------
2769  Capturing subpattern count = 0  Capturing subpattern count = 0
2770  No options  No options
# Line 2837  No need char Line 2773  No need char
2773      \      \
2774   0:   0:
2775    
2776  /\Q\Ex/D  /\Q\Ex/DZ
2777  ------------------------------------------------------------------  ------------------------------------------------------------------
2778    0   5 Bra 0          Bra
2779    3     x          x
2780    5   5 Ket          Ket
2781    8     End          End
2782  ------------------------------------------------------------------  ------------------------------------------------------------------
2783  Capturing subpattern count = 0  Capturing subpattern count = 0
2784  No options  No options
2785  First char = 'x'  First char = 'x'
2786  No need char  No need char
2787    
2788  / \Q\E/D  / \Q\E/DZ
2789  ------------------------------------------------------------------  ------------------------------------------------------------------
2790    0   5 Bra 0          Bra
2791    3  
2792    5   5 Ket          Ket
2793    8     End          End
2794  ------------------------------------------------------------------  ------------------------------------------------------------------
2795  Capturing subpattern count = 0  Capturing subpattern count = 0
2796  No options  No options
2797  First char = ' '  First char = ' '
2798  No need char  No need char
2799    
2800  /a\Q\E/D  /a\Q\E/DZ
2801  ------------------------------------------------------------------  ------------------------------------------------------------------
2802    0   5 Bra 0          Bra
2803    3     a          a
2804    5   5 Ket          Ket
2805    8     End          End
2806  ------------------------------------------------------------------  ------------------------------------------------------------------
2807  Capturing subpattern count = 0  Capturing subpattern count = 0
2808  No options  No options
# Line 2876  No need char Line 2812  No need char
2812   0: a   0: a
2813    bca    bca
2814   0: a   0: a
2815    bac    bac
2816   0: a   0: a
2817    
2818  /a\Q\Eb/D  /a\Q\Eb/DZ
2819  ------------------------------------------------------------------  ------------------------------------------------------------------
2820    0   7 Bra 0          Bra
2821    3     ab          ab
2822    7   7 Ket          Ket
2823   10     End          End
2824  ------------------------------------------------------------------  ------------------------------------------------------------------
2825  Capturing subpattern count = 0  Capturing subpattern count = 0
2826  No options  No options
# Line 2893  Need char = 'b' Line 2829  Need char = 'b'
2829    abc    abc
2830   0: ab   0: ab
2831    
2832  /\Q\Eabc/D  /\Q\Eabc/DZ
2833  ------------------------------------------------------------------  ------------------------------------------------------------------
2834    0   9 Bra 0          Bra
2835    3     abc          abc
2836    9   9 Ket          Ket
2837   12     End          End
2838  ------------------------------------------------------------------  ------------------------------------------------------------------
2839  Capturing subpattern count = 0  Capturing subpattern count = 0
2840  No options  No options
2841  First char = 'a'  First char = 'a'
2842  Need char = 'c'  Need char = 'c'
2843    
2844  /x*+\w/D  /x*+\w/DZ
2845  ------------------------------------------------------------------  ------------------------------------------------------------------
2846    0  12 Bra 0          Bra
2847    3   5 Once          x*+
2848    6     x*          \w
2849    8   5 Ket          Ket
2850   11     \w          End
  12  12 Ket  
  15     End  
2851  ------------------------------------------------------------------  ------------------------------------------------------------------
2852  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
2853  No options  No options
2854  No first char  No first char
2855  No need char  No need char
# Line 2924  No need char Line 2857  No need char
2857   0: F   0: F
2858      xxxxx      xxxxx
2859  No match  No match
2860    
2861  /x?+/D  /x?+/DZ
2862  ------------------------------------------------------------------  ------------------------------------------------------------------
2863    0  11 Bra 0          Bra
2864    3   5 Once          x?+
2865    6     x?          Ket
2866    8   5 Ket          End
  11  11 Ket  
  14     End  
2867  ------------------------------------------------------------------  ------------------------------------------------------------------
2868  Capturing subpattern count = 0  Capturing subpattern count = 0
2869  No options  No options
2870  No first char  No first char
2871  No need char  No need char
2872    
2873  /x++/D  /x++/DZ
2874  ------------------------------------------------------------------  ------------------------------------------------------------------
2875    0  11 Bra 0          Bra
2876    3   5 Once          x++
2877    6     x+          Ket
2878    8   5 Ket          End
  11  11 Ket  
  14     End  
2879  ------------------------------------------------------------------  ------------------------------------------------------------------
2880  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
2881  No options  No options
2882  First char = 'x'  First char = 'x'
2883  No need char  No need char
2884    
2885  /x{1,3}+/D  /x{1,3}+/DZ
2886  ------------------------------------------------------------------  ------------------------------------------------------------------
2887    0  15 Bra 0          Bra
2888    3   9 Once          Once
2889    6     x          x
2890    8     x{,2}          x{0,2}
2891   12   9 Ket          Ket
2892   15  15 Ket          Ket
2893   18     End          End
2894  ------------------------------------------------------------------  ------------------------------------------------------------------
2895  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
2896  No options  No options
2897  First char = 'x'  First char = 'x'
2898  No need char  No need char
2899    
2900  /(x)*+/D  /(x)*+/DZ
2901  ------------------------------------------------------------------  ------------------------------------------------------------------
2902    0  18 Bra 0          Bra
2903    3  12 Once          Braposzero
2904    6     Brazero          CBraPos 1
2905    7   5 Bra 1          x
2906   10     x          KetRpos
2907   12   5 KetRmax          Ket
2908   15  12 Ket          End
  18  18 Ket  
  21     End  
2909  ------------------------------------------------------------------  ------------------------------------------------------------------
2910  Capturing subpattern count = 1  Capturing subpattern count = 1
2911  No options  No options
2912  No first char  No first char
2913  No need char  No need char
2914    
2915  /^(\w++|\s++)*$/  /^(\w++|\s++)*$/I
2916  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
2917  Options: anchored  Options: anchored
2918  No first char  No first char
2919  No need char  No need char
# Line 3000  No need char Line 2924  No need char
2924  No match  No match
2925      this is not a line with only words and spaces!      this is not a line with only words and spaces!
2926  No match  No match
2927    
2928  /(\d++)(\w)/  /(\d++)(\w)/I
2929  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
2930  No options  No options
2931  No first char  No first char
2932  No need char  No need char
# Line 3013  No need char Line 2936  No need char
2936   2: a   2: a
2937      *** Failers      *** Failers
2938  No match  No match
2939      12345+      12345+
2940  No match  No match
2941    
2942  /a++b/  /a++b/I
2943  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
2944  No options  No options
2945  First char = 'a'  First char = 'a'
2946  Need char = 'b'  Need char = 'b'
2947      aaab      aaab
2948   0: aaab   0: aaab
2949    
2950  /(a++b)/  /(a++b)/I
2951  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
2952  No options  No options
2953  First char = 'a'  First char = 'a'
2954  Need char = 'b'  Need char = 'b'
# Line 3035  Need char = 'b' Line 2956  Need char = 'b'
2956   0: aaab   0: aaab
2957   1: aaab   1: aaab
2958    
2959  /(a++)b/  /(a++)b/I
2960  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
2961  No options  No options
2962  First char = 'a'  First char = 'a'
2963  Need char = 'b'  Need char = 'b'
# Line 3045  Need char = 'b' Line 2965  Need char = 'b'
2965   0: aaab   0: aaab
2966   1: aaa   1: aaa
2967    
2968  /([^()]++|\([^()]*\))+/  /([^()]++|\([^()]*\))+/I
2969  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
2970  No options  No options
2971  No first char  No first char
2972  No need char  No need char
2973      ((abc(ade)ufh()()x      ((abc(ade)ufh()()x
2974   0: abc(ade)ufh()()x   0: abc(ade)ufh()()x
2975   1: x   1: x
2976    
2977  /\(([^()]++|\([^()]+\))+\)/  /\(([^()]++|\([^()]+\))+\)/I
2978  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
2979  No options  No options
2980  First char = '('  First char = '('
2981  Need char = ')'  Need char = ')'
# Line 3069  Need char = ')' Line 2987  Need char = ')'
2987   1: xyz   1: xyz
2988      *** Failers      *** Failers
2989  No match  No match
2990      ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa      ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
2991  No match  No match
2992    
2993  /(abc){1,3}+/D  /(abc){1,3}+/DZ
2994  ------------------------------------------------------------------  ------------------------------------------------------------------
2995    0  53 Bra 0          Bra
2996    3  47 Once          Once
2997    6   9 Bra 1          CBra 1
2998    9     abc          abc
2999   15   9 Ket          Ket
3000   18     Brazero          Brazero
3001   19  28 Bra 0          Bra
3002   22   9 Bra 1          CBra 1
3003   25     abc          abc
3004   31   9 Ket          Ket
3005   34     Brazero          Brazero
3006   35   9 Bra 1          CBra 1
3007   38     abc          abc
3008   44   9 Ket          Ket
3009   47  28 Ket          Ket
3010   50  47 Ket          Ket
3011   53  53 Ket          Ket
3012   56     End          End
3013  ------------------------------------------------------------------  ------------------------------------------------------------------
3014  Capturing subpattern count = 1  Capturing subpattern count = 1
3015  No options  No options
3016  First char = 'a'  First char = 'a'
3017  Need char = 'c'  Need char = 'c'
3018    
3019  /a+?+/  /a+?+/I
3020  Failed: nothing to repeat at offset 3  Failed: nothing to repeat at offset 3
3021    
3022  /a{2,3}?+b/  /a{2,3}?+b/I
3023  Failed: nothing to repeat at offset 7  Failed: nothing to repeat at offset 7
3024    
3025  /(?U)a+?+/  /(?U)a+?+/I
3026  Failed: nothing to repeat at offset 7  Failed: nothing to repeat at offset 7
3027    
3028  /a{2,3}?+b/U  /a{2,3}?+b/IU
3029  Failed: nothing to repeat at offset 7  Failed: nothing to repeat at offset 7
3030    
3031  /x(?U)a++b/D  /x(?U)a++b/DZ
3032  ------------------------------------------------------------------  ------------------------------------------------------------------
3033    0  15 Bra 0          Bra
3034    3     x          x
3035    5   5 Once          a++
3036    8     a+          b
3037   10   5 Ket          Ket
3038   13     b          End
  15  15 Ket  
  18     End  
3039  ------------------------------------------------------------------  ------------------------------------------------------------------
3040  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3041  No options  No options
3042  First char = 'x'  First char = 'x'
3043  Need char = 'b'  Need char = 'b'
3044      xaaaab      xaaaab
3045   0: xaaaab   0: xaaaab
3046    
3047  /(?U)xa++b/D  /(?U)xa++b/DZ
3048  ------------------------------------------------------------------  ------------------------------------------------------------------
3049    0  15 Bra 0          Bra
3050    3     x          x
3051    5   5 Once          a++
3052    8     a+          b
3053   10   5 Ket          Ket
3054   13     b          End
  15  15 Ket  
  18     End  
3055  ------------------------------------------------------------------  ------------------------------------------------------------------
3056  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3057  Options: ungreedy  Options: ungreedy
3058  First char = 'x'  First char = 'x'
3059  Need char = 'b'  Need char = 'b'
3060      xaaaab      xaaaab
3061   0: xaaaab   0: xaaaab
3062    
3063  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/D  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/DZ
3064  ------------------------------------------------------------------  ------------------------------------------------------------------
3065    0 106 Bra 0          Bra
3066    3     ^          ^
3067    4  99 Bra 1          CBra 1
3068    7   5 Bra 2          CBra 2
3069   10     a+          a+
3070   12   5 Ket          Ket
3071   15  37 Bra 3          CBra 3
3072   18     [ab]+?          [ab]+?
3073   52  37 Ket          Ket
3074   55  37 Bra 4          CBra 4
3075   58     [bc]+          [bc]+
3076   92  37 Ket          Ket
3077   95   5 Bra 5          CBra 5
3078   98     \w*          \w*
3079  100   5 Ket          Ket
3080  103  99 Ket          Ket
3081  106 106 Ket          Ket
3082  109     End          End
3083  ------------------------------------------------------------------  ------------------------------------------------------------------
3084  Capturing subpattern count = 5  Capturing subpattern count = 5
 Partial matching not supported  
3085  Options: anchored  Options: anchored
3086  No first char  No first char
3087  No need char  No need char
3088    
3089  /^x(?U)a+b/D  /^x(?U)a+b/DZ
3090  ------------------------------------------------------------------  ------------------------------------------------------------------
3091    0  10 Bra 0          Bra
3092    3     ^          ^
3093    4     x          x
3094    6     a+?          a++
3095    8     b          b
3096   10  10 Ket          Ket
3097   13     End          End
3098  ------------------------------------------------------------------  ------------------------------------------------------------------
3099  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3100  Options: anchored  Options: anchored
3101  No first char  No first char
3102  Need char = 'b'  Need char = 'b'
3103    
3104  /^x(?U)(a+)b/D  /^x(?U)(a+)b/DZ
3105  ------------------------------------------------------------------  ------------------------------------------------------------------
3106    0  16 Bra 0          Bra
3107    3     ^          ^
3108    4     x          x
3109    6   5 Bra 1          CBra 1
3110    9     a+?          a+?
3111   11   5 Ket          Ket
3112   14     b          b
3113   16  16 Ket          Ket
3114   19     End          End
3115  ------------------------------------------------------------------  ------------------------------------------------------------------
3116  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3117  Options: anchored  Options: anchored
3118  No first char  No first char
3119  Need char = 'b'  Need char = 'b'
3120    
3121  /[.x.]/  /[.x.]/I
3122  Failed: POSIX collating elements are not supported at offset 0  Failed: POSIX collating elements are not supported at offset 0
3123    
3124  /[=x=]/  /[=x=]/I
3125  Failed: POSIX collating elements are not supported at offset 0  Failed: POSIX collating elements are not supported at offset 0
3126    
3127  /[:x:]/  /[:x:]/I
3128  Failed: POSIX named classes are supported only within a class at offset 0  Failed: POSIX named classes are supported only within a class at offset 0
3129    
3130  /\l/  /\l/I
3131  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1  Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
3132    
3133  /\L/  /\L/I
3134  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1  Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
3135    
3136  /\N{name}/  /\N{name}/I
3137  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1  Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
3138    
3139  /\u/  /\u/I
3140  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1  Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
3141    
3142  /\U/  /\U/I
3143  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1  Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
3144    
3145  /[/  /[/I
3146  Failed: missing terminating ] for character class at offset 1  Failed: missing terminating ] for character class at offset 1
3147    
3148  /[a-/  /[a-/I
3149  Failed: missing terminating ] for character class at offset 3  Failed: missing terminating ] for character class at offset 3
3150    
3151  /[[:space:]/  /[[:space:]/I
3152  Failed: missing terminating ] for character class at offset 10  Failed: missing terminating ] for character class at offset 10
3153    
3154  /[\s]/DM  /[\s]/IDZ
 Memory allocation (code space): 40  
3155  ------------------------------------------------------------------  ------------------------------------------------------------------
3156    0  36 Bra 0          Bra
3157    3     [\x09\x0a\x0c\x0d ]          [\x09\x0a\x0c\x0d ]
3158   36  36 Ket          Ket
3159   39     End          End
3160  ------------------------------------------------------------------  ------------------------------------------------------------------
3161  Capturing subpattern count = 0  Capturing subpattern count = 0
3162  No options  No options
3163  No first char  No first char
3164  No need char  No need char
3165    
3166  /[[:space:]]/DM  /[[:space:]]/IDZ
 Memory allocation (code space): 40  
3167  ------------------------------------------------------------------  ------------------------------------------------------------------
3168    0  36 Bra 0          Bra
3169    3     [\x09-\x0d ]          [\x09-\x0d ]
3170   36  36 Ket          Ket
3171   39     End          End
3172  ------------------------------------------------------------------  ------------------------------------------------------------------
3173  Capturing subpattern count = 0  Capturing subpattern count = 0
3174  No options  No options
3175  No first char  No first char
3176  No need char  No need char
3177    
3178  /[[:space:]abcde]/DM  /[[:space:]abcde]/IDZ
 Memory allocation (code space): 40  
3179  ------------------------------------------------------------------  ------------------------------------------------------------------
3180    0  36 Bra 0          Bra
3181    3     [\x09-\x0d a-e]          [\x09-\x0d a-e]
3182   36  36 Ket          Ket
3183   39     End          End
3184  ------------------------------------------------------------------  ------------------------------------------------------------------
3185  Capturing subpattern count = 0  Capturing subpattern count = 0
3186  No options  No options
3187  No first char  No first char
3188  No need char  No need char
3189    
3190  /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/x  /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/Ix
3191  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3192  Options: extended  Options: extended
3193  First char = '<'  First char = '<'
3194  Need char = '>'  Need char = '>'
# Line 3295  Need char = '>' Line 3200  Need char = '>'
3200   0: <abc <123> hij>   0: <abc <123> hij>
3201      <abc <def> hij>      <abc <def> hij>
3202   0: <def>   0: <def>
3203      <abc<>def>      <abc<>def>
3204   0: <abc<>def>   0: <abc<>def>
3205      <abc<>      <abc<>
3206   0: <>   0: <>
3207      *** Failers      *** Failers
3208  No match  No match
3209      <abc      <abc
3210  No match  No match
3211    
3212  |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|DM  |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
 Memory allocation (code space): 826  
3213  ------------------------------------------------------------------  ------------------------------------------------------------------
3214    0 822 Bra 0          Bra
3215    3     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          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
3216  821     \b          \b
3217  822 822 Ket          Ket
3218  825     End          End
3219  ------------------------------------------------------------------  ------------------------------------------------------------------
3220  Capturing subpattern count = 0  Capturing subpattern count = 0
3221    Max lookbehind = 1
3222  No options  No options
3223  First char = '8'  First char = '8'
3224  Need char = 'X'  Need char = 'X'
3225    
3226  |\$\<\.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|DM  |\$\<\.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
 Memory allocation (code space): 816  
3227  ------------------------------------------------------------------  ------------------------------------------------------------------
3228    0 812 Bra 0          Bra
3229    3     $<.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          $<.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
3230  811     \b          \b
3231  812 812 Ket          Ket
3232  815     End          End
3233  ------------------------------------------------------------------  ------------------------------------------------------------------
3234  Capturing subpattern count = 0  Capturing subpattern count = 0
3235    Max lookbehind = 1
3236  No options  No options
3237  First char = '$'  First char = '$'
3238  Need char = 'X'  Need char = 'X'
# Line 3335  Need char = 'X' Line 3240  Need char = 'X'
3240  /(.*)\d+\1/I  /(.*)\d+\1/I
3241  Capturing subpattern count = 1  Capturing subpattern count = 1
3242  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
3243  No options  No options
3244  No first char  No first char
3245  No need char  No need char
3246    
3247  /(.*)\d+/I  /(.*)\d+/I
3248  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3249  No options  No options
3250  First char at start or follows \n  First char at start or follows newline
3251  No need char  No need char
3252    
3253  /(.*)\d+\1/Is  /(.*)\d+\1/Is
3254  Capturing subpattern count = 1  Capturing subpattern count = 1
3255  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
3256  Options: dotall  Options: dotall
3257  No first char  No first char
3258  No need char  No need char
3259    
3260  /(.*)\d+/Is  /(.*)\d+/Is
3261  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3262  Options: anchored dotall  Options: anchored dotall
3263  No first char  No first char
3264  No need char  No need char
# Line 3365  No need char Line 3266  No need char
3266  /(.*(xyz))\d+\2/I  /(.*(xyz))\d+\2/I
3267  Capturing subpattern count = 2  Capturing subpattern count = 2
3268  Max back reference = 2  Max back reference = 2
 Partial matching not supported  
3269  No options  No options
3270  First char at start or follows \n  First char at start or follows newline
3271  Need char = 'z'  Need char = 'z'
3272    
3273  /((.*))\d+\1/I  /((.*))\d+\1/I
3274  Capturing subpattern count = 2  Capturing subpattern count = 2
3275  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
3276  No options  No options
3277  No first char  No first char
3278  No need char  No need char
# Line 3381  No need char Line 3280  No need char
3280   0: bc123bc   0: bc123bc
3281   1: bc   1: bc
3282   2: bc   2: bc
3283    
3284  /a[b]/I  /a[b]/I
3285  Capturing subpattern count = 0  Capturing subpattern count = 0
3286  No options  No options
# Line 3390  Need char = 'b' Line 3289  Need char = 'b'
3289    
3290  /(?=a).*/I  /(?=a).*/I
3291  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3292  No options  No options
3293  First char = 'a'  First char = 'a'
3294  No need char  No need char
3295    
3296  /(?=abc).xyz/iI  /(?=abc).xyz/IiI
3297  Capturing subpattern count = 0  Capturing subpattern count = 0
3298  Options: caseless  Options: caseless
3299  First char = 'a' (caseless)  First char = 'a' (caseless)
# Line 3404  Need char = 'z' (caseless) Line 3302  Need char = 'z' (caseless)
3302  /(?=abc)(?i).xyz/I  /(?=abc)(?i).xyz/I
3303  Capturing subpattern count = 0  Capturing subpattern count = 0
3304  No options  No options
 Case state changes  
3305  First char = 'a'  First char = 'a'
3306  Need char = 'z' (caseless)  Need char = 'z' (caseless)
3307    
# Line 3438  No options Line 3335  No options
3335  No first char  No first char
3336  Need char = 'a'  Need char = 'a'
3337    
3338  /(?(1)ab|ac)/I  /(?(1)ab|ac)(.)/I
3339  Capturing subpattern count = 0  Capturing subpattern count = 1
3340  No options  No options
3341  First char = 'a'  First char = 'a'
3342  No need char  No need char
3343    
3344  /(?(1)abz|acz)/I  /(?(1)abz|acz)(.)/I
3345  Capturing subpattern count = 0  Capturing subpattern count = 1
3346  No options  No options
3347  First char = 'a'  First char = 'a'
3348  Need char = 'z'  Need char = 'z'
3349    
3350  /(?(1)abz)/I  /(?(1)abz)(.)/I
3351  Capturing subpattern count = 0  Capturing subpattern count = 1
3352  No options  No options
3353  No first char  No first char
3354  No need char  No need char
3355    
3356  /(?(1)abz)123/I  /(?(1)abz)(1)23/I
3357  Capturing subpattern count = 0  Capturing subpattern count = 1
3358  No options  No options
3359  No first char  No first char
3360  Need char = '3'  Need char = '3'
# Line 3497  Capturing subpattern count = 0 Line 3394  Capturing subpattern count = 0
3394  No options  No options
3395  No first char  No first char
3396  No need char  No need char
3397    Subject length lower bound = 1
3398  Starting byte set: a b  Starting byte set: a b
3399    
3400  /[^a]/I  /[^a]/I
# Line 3516  Capturing subpattern count = 0 Line 3414  Capturing subpattern count = 0
3414  No options  No options
3415  No first char  No first char
3416  Need char = '6'  Need char = '6'
3417    Subject length lower bound = 4
3418  Starting byte set: 0 1 2 3 4 5 6 7 8 9  Starting byte set: 0 1 2 3 4 5 6 7 8 9
3419    
3420  /a^b/I  /a^b/I
# Line 3524  No options Line 3423  No options
3423  First char = 'a'  First char = 'a'
3424  Need char = 'b'  Need char = 'b'
3425    
3426  /^a/mI  /^a/Im
3427  Capturing subpattern count = 0  Capturing subpattern count = 0
3428  Options: multiline  Options: multiline
3429  First char at start or follows \n  First char at start or follows newline
3430  Need char = 'a'  Need char = 'a'
3431    abcde    abcde
3432   0: a   0: a
3433    xy\nabc    xy\nabc
3434   0: a   0: a
3435    *** Failers    *** Failers
3436  No match  No match
3437    xyabc    xyabc
3438  No match  No match
3439    
3440  /c|abc/I  /c|abc/I
# Line 3549  Capturing subpattern count = 0 Line 3448  Capturing subpattern count = 0
3448  Options: caseless  Options: caseless
3449  No first char  No first char
3450  No need char  No need char
3451    Subject length lower bound = 1
3452  Starting byte set: A B a b  Starting byte set: A B a b
3453    
3454  /[ab](?i)cd/IS  /[ab](?i)cd/IS
3455  Capturing subpattern count = 0  Capturing subpattern count = 0
3456  No options  No options
 Case state changes  
3457  No first char  No first char
3458  Need char = 'd' (caseless)  Need char = 'd' (caseless)
3459    Subject length lower bound = 3
3460  Starting byte set: a b  Starting byte set: a b
3461    
3462  /abc(?C)def/  /abc(?C)def/I
3463  Capturing subpattern count = 0  Capturing subpattern count = 0
3464  No options  No options
3465  First char = 'a'  First char = 'a'
# Line 3568  Need char = 'f' Line 3468  Need char = 'f'
3468  --->abcdef  --->abcdef
3469    0 ^  ^       d    0 ^  ^       d
3470   0: abcdef   0: abcdef
3471      1234abcdef      1234abcdef
3472  --->1234abcdef  --->1234abcdef
3473    0     ^  ^       d    0     ^  ^       d
3474   0: abcdef   0: abcdef
# Line 3576  Need char = 'f' Line 3476  Need char = 'f'
3476  No match  No match
3477      abcxyz      abcxyz
3478  No match  No match
3479      abcxyzf      abcxyzf
3480  --->abcxyzf  --->abcxyzf
3481    0 ^  ^        d    0 ^  ^        d
3482  No match  No match
3483    
3484  /abc(?C)de(?C1)f/  /abc(?C)de(?C1)f/I
3485  Capturing subpattern count = 0  Capturing subpattern count = 0
3486  No options  No options
3487  First char = 'a'  First char = 'a'
# Line 3591  Need char = 'f' Line 3491  Need char = 'f'
3491    0    ^  ^       d    0    ^  ^       d
3492    1    ^    ^     f    1    ^    ^     f
3493   0: abcdef   0: abcdef
3494    
3495  /(?C1)\dabc(?C2)def/  /(?C1)\dabc(?C2)def/IS
3496    Capturing subpattern count = 0
3497    No options
3498    No first char
3499    Need char = 'f'
3500    Subject length lower bound = 7
3501    Starting byte set: 0 1 2 3 4 5 6 7 8 9
3502        1234abcdef
3503    --->1234abcdef
3504      1 ^              \d
3505      1  ^             \d
3506      1   ^            \d
3507      1    ^           \d
3508      2    ^   ^       d
3509     0: 4abcdef
3510        *** Failers
3511    No match
3512        abcdef
3513    No match
3514    
3515    /(?C1)\dabc(?C2)def/ISS
3516  Capturing subpattern count = 0  Capturing subpattern count = 0
3517  No options  No options
3518  No first char  No first char
# Line 3607  Need char = 'f' Line 3527  Need char = 'f'
3527   0: 4abcdef   0: 4abcdef
3528      *** Failers      *** Failers
3529  No match  No match
3530      abcdef      abcdef
3531  --->abcdef  --->abcdef
3532    1 ^          \d    1 ^          \d
3533    1  ^         \d    1  ^         \d
# Line 3616  No match Line 3536  No match
3536    1     ^      \d    1     ^      \d
3537    1      ^     \d    1      ^     \d
3538  No match  No match
3539    
3540  /(?C255)ab/  /(?C255)ab/I
3541  Capturing subpattern count = 0  Capturing subpattern count = 0
3542  No options  No options
3543  First char = 'a'  First char = 'a'
3544  Need char = 'b'  Need char = 'b'
3545    
3546  /(?C256)ab/  /(?C256)ab/I
3547  Failed: number after (?C is > 255 at offset 6  Failed: number after (?C is > 255 at offset 6
3548    
3549  /(?Cab)xx/  /(?Cab)xx/I
3550  Failed: closing ) for (?C expected at offset 3  Failed: closing ) for (?C expected at offset 3
3551    
3552  /(?C12vr)x/  /(?C12vr)x/I
3553  Failed: closing ) for (?C expected at offset 5  Failed: closing ) for (?C expected at offset 5
3554    
3555  /abc(?C)def/  /abc(?C)def/I
3556  Capturing subpattern count = 0  Capturing subpattern count = 0
3557  No options  No options
3558  First char = 'a'  First char = 'a'
# Line 3644  No match Line 3564  No match
3564    0         ^  ^       d    0         ^  ^       d
3565   0: abcdef   0: abcdef
3566    
3567  /(abc)(?C)de(?C1)f/  /(abc)(?C)de(?C1)f/I
3568  Capturing subpattern count = 1  Capturing subpattern count = 1
3569  No options  No options
3570  First char = 'a'  First char = 'a'
# Line 3655  Need char = 'f' Line 3575  Need char = 'f'
3575    1    ^    ^     f    1    ^    ^     f
3576   0: abcdef   0: abcdef
3577   1: abc   1: abc
3578      123abcdef\C+      123abcdef\C+
3579  Callout 0: last capture = 1  Callout 0: last capture = 1
3580   0: <unset>   0: <unset>
3581   1: abc   1: abc
# Line 3668  Callout 1: last capture = 1 Line 3588  Callout 1: last capture = 1
3588         ^    ^     f         ^    ^     f
3589   0: abcdef   0: abcdef
3590   1: abc   1: abc
3591      123abcdef\C-      123abcdef\C-
3592   0: abcdef   0: abcdef
3593   1: abc   1: abc
3594      *** Failers      *** Failers
3595  No match  No match
3596      123abcdef\C!1      123abcdef\C!1
3597  --->123abcdef  --->123abcdef
3598    0    ^  ^       d    0    ^  ^       d
3599    1    ^    ^     f    1    ^    ^     f
3600  No match  No match
3601    
3602  /(?C0)(abc(?C1))*/  /(?C0)(abc(?C1))*/I
3603  Capturing subpattern count = 1  Capturing subpattern count = 1
3604  No options  No options
3605  No first char  No first char
# Line 3692  No need char Line 3612  No need char
3612    1 ^        ^    )    1 ^        ^    )
3613   0: abcabcabc   0: abcabcabc
3614   1: abc   1: abc
3615      abcabc\C!1!3      abcabc\C!1!3
3616  --->abcabc  --->abcabc
3617    0 ^          (abc(?C1))*    0 ^          (abc(?C1))*
3618    1 ^  ^       )    1 ^  ^       )
# Line 3703  No need char Line 3623  No need char
3623  --->*** Failers  --->*** Failers
3624    0 ^               (abc(?C1))*    0 ^               (abc(?C1))*
3625   0:   0:
3626      abcabcabc\C!1!3      abcabcabc\C!1!3
3627  --->abcabcabc  --->abcabcabc
3628    0 ^             (abc(?C1))*    0 ^             (abc(?C1))*
3629    1 ^  ^          )    1 ^  ^          )
# Line 3712  No need char Line 3632  No need char
3632   0: abcabc   0: abcabc
3633   1: abc   1: abc
3634    
3635  /(\d{3}(?C))*/  /(\d{3}(?C))*/I
3636  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3637  No options  No options
3638  No first char  No first char
3639  No need char  No need char
# Line 3737  Callout 0: last capture = 1 Line 3656  Callout 0: last capture = 1
3656      ^     ^    )      ^     ^    )
3657   0: 123456   0: 123456
3658   1: 456   1: 456
3659      123456789\C+      123456789\C+
3660  Callout 0: last capture = -1  Callout 0: last capture = -1
3661   0: <unset>   0: <unset>
3662  --->123456789  --->123456789
# Line 3755  Callout 0: last capture = 1 Line 3674  Callout 0: last capture = 1
3674   0: 123456789   0: 123456789
3675   1: 789   1: 789
3676    
3677  /((xyz)(?C)p|(?C1)xyzabc)/  /((xyz)(?C)p|(?C1)xyzabc)/I
3678  Capturing subpattern count = 2  Capturing subpattern count = 2
3679  No options  No options
3680  First char = 'x'  First char = 'x'
# Line 3774  Callout 1: last capture = -1 Line 3693  Callout 1: last capture = -1
3693   0: xyzabc   0: xyzabc
3694   1: xyzabc   1: xyzabc
3695    
3696  /(X)((xyz)(?C)p|(?C1)xyzabc)/  /(X)((xyz)(?C)p|(?C1)xyzabc)/I
3697  Capturing subpattern count = 3  Capturing subpattern count = 3
3698  No options  No options
3699  First char = 'X'  First char = 'X'
# Line 3796  Callout 1: last capture = 1 Line 3715  Callout 1: last capture = 1
3715   1: X   1: X
3716   2: xyzabc   2: xyzabc
3717    
3718  /(?=(abc))(?C)abcdef/  /(?=(abc))(?C)abcdef/I
3719  Capturing subpattern count = 1  Capturing subpattern count = 1
3720  No options  No options
3721  First char = 'a'  First char = 'a'
# Line 3809  Callout 0: last capture = 1 Line 3728  Callout 0: last capture = 1
3728      ^          a      ^          a
3729   0: abcdef   0: abcdef
3730   1: abc   1: abc
3731    
3732  /(?!(abc)(?C1)d)(?C2)abcxyz/  /(?!(abc)(?C1)d)(?C2)abcxyz/I
3733  Capturing subpattern count = 1  Capturing subpattern count = 1
3734  No options  No options
3735  First char = 'a'  First char = 'a'
3736  Need char = 'z'  Need char = 'z'
3737      abcxyz\C+      abcxyz\C+
3738  Callout 1: last capture = 1  Callout 1: last capture = 1
3739   0: <unset>   0: <unset>
3740   1: abc   1: abc
# Line 3827  Callout 2: last capture = -1 Line 3746  Callout 2: last capture = -1
3746      ^          a      ^          a
3747   0: abcxyz   0: abcxyz
3748    
3749  /(?<=(abc)(?C))xyz/  /(?<=(abc)(?C))xyz/I
3750  Capturing subpattern count = 1  Capturing subpattern count = 1
3751    Max lookbehind = 3
3752  No options  No options
3753  First char = 'x'  First char = 'x'
3754  Need char = 'z'  Need char = 'z'
# Line 3840  Callout 0: last capture = 1 Line 3760  Callout 0: last capture = 1
3760         ^       )         ^       )
3761   0: xyz   0: xyz
3762   1: abc   1: abc
3763    
3764  /a(b+)(c*)(?C1)/  /a(b+)(c*)(?C1)/I
3765  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
3766  No options  No options
3767  First char = 'a'  First char = 'a'
3768  Need char = 'b'  Need char = 'b'
# Line 3867  Callout data = 1 Line 3786  Callout data = 1
3786  Callout data = 1  Callout data = 1
3787  No match  No match
3788    
3789  /a(b+?)(c*?)(?C1)/  /a(b+?)(c*?)(?C1)/I
3790  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
3791  No options  No options
3792  First char = 'a'  First char = 'a'
3793  Need char = 'b'  Need char = 'b'
# Line 3892  Callout data = 1 Line 3810  Callout data = 1
3810    1 ^        ^    1 ^        ^
3811  Callout data = 1  Callout data = 1
3812  No match  No match
3813    
3814  /(?C)abc/  /(?C)abc/I
3815  Capturing subpattern count = 0  Capturing subpattern count = 0
3816  No options  No options
3817  First char = 'a'  First char = 'a'
3818  Need char = 'c'  Need char = 'c'
3819    
3820  /(?C)^abc/  /(?C)^abc/I
3821  Capturing subpattern count = 0  Capturing subpattern count = 0
3822  Options: anchored  Options: anchored
3823  No first char  No first char
3824  No need char  No need char
3825    
3826  /(?C)a|b/S  /(?C)a|b/IS
3827  Capturing subpattern count = 0  Capturing subpattern count = 0
3828  No options  No options
3829  No first char  No first char
3830  No need char  No need char
3831    Subject length lower bound = 1
3832  Starting byte set: a b  Starting byte set: a b
3833    
3834  /(?R)/  /(?R)/I
3835  Failed: recursive call could loop indefinitely at offset 3  Failed: recursive call could loop indefinitely at offset 3
3836    
3837  /(a|(?R))/  /(a|(?R))/I
3838  Failed: recursive call could loop indefinitely at offset 6  Failed: recursive call could loop indefinitely at offset 6
3839    
3840  /(ab|(bc|(de|(?R))))/  /(ab|(bc|(de|(?R))))/I
3841  Failed: recursive call could loop indefinitely at offset 15  Failed: recursive call could loop indefinitely at offset 15
3842    
3843  /x(ab|(bc|(de|(?R))))/  /x(ab|(bc|(de|(?R))))/I
3844  Capturing subpattern count = 3  Capturing subpattern count = 3
3845  No options  No options
3846  First char = 'x'  First char = 'x'
# Line 3950  No need char Line 3869  No need char
3869   3: xxab   3: xxab
3870      *** Failers      *** Failers
3871  No match  No match
3872      xyab      xyab
3873  No match  No match
3874    
3875  /(ab|(bc|(de|(?1))))/  /(ab|(bc|(de|(?1))))/I
3876  Failed: recursive call could loop indefinitely at offset 15  Failed: recursive call could loop indefinitely at offset 15
3877    
3878  /x(ab|(bc|(de|(?1)x)x)x)/  /x(ab|(bc|(de|(?1)x)x)x)/I
3879  Failed: recursive call could loop indefinitely at offset 16  Failed: recursive call could loop indefinitely at offset 16
3880    
3881  /^([^()]|\((?1)*\))*$/  /^([^()]|\((?1)*\))*$/I
3882  Capturing subpattern count = 1  Capturing subpattern count = 1
3883  Options: anchored  Options: anchored
3884  No first char  No first char
# Line 3970  No need char Line 3889  No need char
3889      a(b)c      a(b)c
3890   0: a(b)c   0: a(b)c
3891   1: c   1: c
3892      a(b(c))d      a(b(c))d
3893   0: a(b(c))d   0: a(b(c))d
3894   1: d   1: d
3895      *** Failers)      *** Failers)
3896  No match  No match
3897      a(b(c)d      a(b(c)d
3898  No match  No match
3899    
3900  /^>abc>([^()]|\((?1)*\))*<xyz<$/  /^>abc>([^()]|\((?1)*\))*<xyz<$/I
3901  Capturing subpattern count = 1  Capturing subpattern count = 1
3902  Options: anchored  Options: anchored
3903  No first char  No first char
# Line 3993  Need char = '<' Line 3912  Need char = '<'
3912   0: >abc>(1(2)3)<xyz<   0: >abc>(1(2)3)<xyz<
3913   1: (1(2)3)   1: (1(2)3)
3914    
3915  /(a(?1)b)/D  /(a(?1)b)/DZ
3916  ------------------------------------------------------------------  ------------------------------------------------------------------
3917    0  16 Bra 0          Bra
3918    3  10 Bra 1          CBra 1
3919    6     a          a
3920    8   3 Recurse          Recurse
3921   11     b          b
3922   13  10 Ket          Ket
3923   16  16 Ket          Ket
3924   19     End          End
3925  ------------------------------------------------------------------  ------------------------------------------------------------------
3926  Capturing subpattern count = 1  Capturing subpattern count = 1
3927  No options  No options
3928  First char = 'a'  First char = 'a'
3929  Need char = 'b'  Need char = 'b'
3930    
3931  /(a(?1)+b)/D  /(a(?1)+b)/DZ
3932  ------------------------------------------------------------------  ------------------------------------------------------------------
3933    0  22 Bra 0          Bra
3934    3  16 Bra 1          CBra 1
3935    6     a          a
3936    8   6 Bra 0          Once
3937   11   3 Recurse          Recurse
3938   14   6 KetRmax          KetRmax
3939   17     b          b
3940   19  16 Ket          Ket
3941   22  22 Ket          Ket
3942   25     End          End
3943  ------------------------------------------------------------------  ------------------------------------------------------------------
3944  Capturing subpattern count = 1  Capturing subpattern count = 1
3945  No options  No options
3946  First char = 'a'  First char = 'a'
3947  Need char = 'b'  Need char = 'b'
3948    
3949  /^\W*(?:((.)\W*(?1)\W*\2|)|((.)\W*(?3)\W*\4|\W*.\W*))\W*$/i  /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I
3950  Capturing subpattern count = 4  Capturing subpattern count = 2
3951  Max back reference = 4  Options: anchored
 Partial matching not supported  
 Options: anchored caseless  
 No first char  
 No need char  
     1221  
  0: 1221  
  1: 1221  
  2: 1  
     Satan, oscillate my metallic sonatas!  
  0: Satan, oscillate my metallic sonatas!  
  1: <unset>  
  2: <unset>  
  3: Satan, oscillate my metallic sonatas  
  4: S  
     A man, a plan, a canal: Panama!  
  0: A man, a plan, a canal: Panama!  
  1: <unset>  
  2: <unset>  
  3: A man, a plan, a canal: Panama  
  4: A  
     Able was I ere I saw Elba.  
  0: Able was I ere I saw Elba.  
  1: <unset>  
  2: <unset>  
  3: Able was I ere I saw Elba  
  4: A  
     *** Failers  
 No match  
     The quick brown fox  
 No match  
   
 /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/  
 Capturing subpattern count = 2  
 Partial matching not supported  
 Options: anchored  
3952  No first char  No first char
3953  No need char  No need char
3954      12      12
# Line 4081  No need char Line 3965  No need char
3965  No match  No match
3966      ((2+2)*-3)-7)      ((2+2)*-3)-7)
3967  No match  No match
3968    
3969  /^(x(y|(?1){2})z)/  /^(x(y|(?1){2})z)/I
3970  Capturing subpattern count = 2  Capturing subpattern count = 2
3971  Options: anchored  Options: anchored
3972  No first char  No first char
# Line 4091  No need char Line 3975  No need char
3975   0: xyz   0: xyz
3976   1: xyz   1: xyz
3977   2: y   2: y
3978      xxyzxyzz      xxyzxyzz
3979   0: xxyzxyzz   0: xxyzxyzz
3980   1: xxyzxyzz   1: xxyzxyzz
3981   2: xyzxyz   2: xyzxyz
# Line 4099  No need char Line 3983  No need char
3983  No match  No match
3984      xxyzz      xxyzz
3985  No match  No match
3986      xxyzxyzxyzz      xxyzxyzxyzz
3987  No match  No match
3988    
3989  /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/x  /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/Ix
3990  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
3991  Options: extended  Options: extended
3992  First char = '<'  First char = '<'
3993  Need char = '>'  Need char = '>'
# Line 4124  Need char = '>' Line 4007  Need char = '>'
4007   0: <def>   0: <def>
4008   1: <def>   1: <def>
4009   2: <def>   2: <def>
4010      <abc<>def>      <abc<>def>
4011   0: <abc<>def>   0: <abc<>def>
4012   1: <abc<>def>   1: <abc<>def>
4013   2: <abc<>def>   2: <abc<>def>
4014      <abc<>      <abc<>
4015   0: <>   0: <>
4016   1: <>   1: <>
4017   2: <>   2: <>
# Line 4137  No match Line 4020  No match
4020      <abc      <abc
4021  No match  No match
4022    
4023  /(?1)/  /(?1)/I
4024  Failed: reference to non-existent subpattern at offset 3  Failed: reference to non-existent subpattern at offset 3
4025    
4026  /((?2)(abc)/  /((?2)(abc)/I
4027  Failed: reference to non-existent subpattern at offset 4  Failed: missing ) at offset 10
4028    
4029  /^(abc)def(?1)/  /^(abc)def(?1)/I
4030  Capturing subpattern count = 1  Capturing subpattern count = 1
4031  Options: anchored  Options: anchored
4032  No first char  No first char
# Line 4152  No need char Line 4035  No need char
4035   0: abcdefabc   0: abcdefabc
4036   1: abc   1: abc
4037    
4038  /^(a|b|c)=(?1)+/  /^(a|b|c)=(?1)+/I
4039  Capturing subpattern count = 1  Capturing subpattern count = 1
4040  Options: anchored  Options: anchored
4041  No first char  No first char
# Line 4163  No need char Line 4046  No need char
4046      a=b      a=b
4047   0: a=b   0: a=b
4048   1: a   1: a
4049      a=bc      a=bc
4050   0: a=bc   0: a=bc
4051   1: a   1: a
4052    
4053  /^(a|b|c)=((?1))+/  /^(a|b|c)=((?1))+/I
4054  Capturing subpattern count = 2  Capturing subpattern count = 2
4055  Options: anchored  Options: anchored
4056  No first char  No first char
# Line 4180  No need char Line 4063  No need char
4063   0: a=b   0: a=b
4064   1: a   1: a
4065   2: b   2: b
4066      a=bc      a=bc
4067   0: a=bc   0: a=bc
4068   1: a   1: a
4069   2: c   2: c
4070    
4071  /a(?P<name1>b|c)d(?P<longername2>e)/D  /a(?P<name1>b|c)d(?P<longername2>e)/DZ
4072  ------------------------------------------------------------------  ------------------------------------------------------------------
4073    0  28 Bra 0          Bra
4074    3     a          a
4075    5   5 Bra 1          CBra 1
4076    8     b          b
4077   10   5 Alt          Alt
4078   13     c          c
4079   15  10 Ket          Ket
4080   18     d          d
4081   20   5 Bra 2          CBra 2
4082   23     e          e
4083   25   5 Ket          Ket
4084   28  28 Ket          Ket
4085   31     End          End
4086  ------------------------------------------------------------------  ------------------------------------------------------------------
4087  Capturing subpattern count = 2  Capturing subpattern count = 2
4088  Named capturing subpatterns:  Named capturing subpatterns:
# Line 4212  Need char = 'e' Line 4095  Need char = 'e'
4095   0: abde   0: abde
4096   1: b   1: b
4097   2: e   2: e
4098      acde      acde
4099   0: acde   0: acde
4100   1: c   1: c
4101   2: e   2: e
4102    
4103  /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/D  /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/DZ
4104  ------------------------------------------------------------------  ------------------------------------------------------------------
4105    0  35 Bra 0          Bra
4106    3  21 Bra 0          Bra
4107    6     a          a
4108    8  13 Bra 1          CBra 1
4109   11     c          c
4110   13   5 Bra 2          CBra 2
4111   16     d          d
4112   18   5 Ket          Ket
4113   21  13 Ket          Ket
4114   24  21 Ket          Ket
4115   27   5 Bra 3          CBra 3
4116   30     a          a
4117   32   5 Ket          Ket
4118   35  35 Ket          Ket
4119   38     End          End
4120  ------------------------------------------------------------------  ------------------------------------------------------------------
4121  Capturing subpattern count = 3  Capturing subpattern count = 3
4122  Named capturing subpattern